java编译器允许我在Interface中编写一个Class定义。这有什么具体用途吗?
interface ClassInterface {
void returnSomething();
int x = 10;
class SomeClass {
private int y;
private void classDoingSomething() {
}
}
}
请解释。
答案 0 :(得分:4)
使用与嵌套在另一个类中的类相同:它允许将类作用于接口。你可以想象这样的事情:
public interface Switch {
public enum Status {
ON, OFF;
}
void doSwitch();
Status getStatus();
}
它避免了定义名为SwitchStatus
的顶级类(因为Status
可能是一个太通用的名称)。
答案 1 :(得分:2)
您可以使用它将某种类型紧密绑定到接口。阅读This页面以获取更多信息以及在界面中定义类的示例。