我已经浏览了以下链接为什么在Java中使用静态嵌套接口?.
在我的代码库中我有:
public interface I1{
public static interface I2 {
public void doSomething();
}
//some other methods
public void myMethod(I2 myObject);
}
Run Code Online (Sandbox Code Playgroud)
在另一个不同包中的其他类中:
public abstract class SomeClass implements I2{
//mandatory method...
}
Run Code Online (Sandbox Code Playgroud)
现在,我的问题是- "难道真的有一个很好的设计,把I2在I1"?
编辑:
public interface XClientSession {
static public interface OnQueryResultSentListener {
public void onQueryResultSent(XQueryResult result);
}
public void setOnQueryResultSentListener(OnQueryResultSentListener listener);
}
Run Code Online (Sandbox Code Playgroud)
/在另一个文件中我有......
public abstract class XAppAgentBase extends IntentService
implements XClient, OnQueryResultSentListener {
}
Run Code Online (Sandbox Code Playgroud)
内部接口不需要使用 static 关键字,因为接口内部声明的接口默认是静态的,类似于接口中定义的变量默认是公共和静态的。
这是一个好的设计吗?- 取决于其创建的设计目的。您的代码将 I2 接口的可访问性限制为仅可访问 I1 接口的代码部分。
| 归档时间: |
|
| 查看次数: |
132 次 |
| 最近记录: |