拥有嵌套的公共接口是否完全可以接受?

rth*_*sen 3 java

我有几个接口都只有一个方法,它们都非常相似.我知道它有效,但我应该或不应该像这样分组:

public class InterfaceGroup {
    public interface Type1 {
        public void method(int a);
    }
    public interface Type2 {
        public void method(String s);
    }
    public interface Type3 {
        public void method();
    }
}
Run Code Online (Sandbox Code Playgroud)

然后在外部引用它们InterfaceGroup.Type1.

Mar*_*nik 6

是的,拥有这样的设计有时会很有帮助.例如,它是Map.EntryJava标准库中的选择.

但是,这种设计的缺陷是你定义了一种不起类型作用的类型,实际上它实际上是不合适的.如果我发现在库中我使用这种类型只是为了减少源代码文件的数量而存在,我至少会有点恼火:-)另一方面,当我编写代码时其可见范围仅在实施范围内,我无情地使用这些技巧.