java - 接口(interface)中的嵌套类

标签 java interface nested-class

Java 编译器允许我在 Interface 中编写 Class 定义。这有什么具体用途吗?

interface ClassInterface {

  void returnSomething();
  int x = 10;

  class SomeClass {
    private int y;

    private void classDoingSomething() {         
    }
  }
}

请解释。

最佳答案

用法与嵌套在另一个类中的类相同:它允许将类的范围限定为接口(interface)。你可以想象这样的事情:

public interface Switch {

    public enum Status {
        ON, OFF;
    }

    void doSwitch();
    Status getStatus();
}

它避免定义一个名为 SwitchStatus 的顶级类(因为 Status 可能是一个过于通用的名称)。

关于java - 接口(interface)中的嵌套类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9098235/

相关文章:

C# 类型需要特定类的子类以及接口(interface)

java - 数组编程 - N 个玩家的 Tic Tac Toe nxn 板

c++ - 将私有(private)内部类放入 main 中

java - 使用自定义方法将字段映射到嵌套对象

eclipse 中的 javacpp 不起作用——ClassNotFoundException(使用 JNI)

java - 在 Intellij 中显示一种方法的覆盖率数据

java - 具有 map 的类的获取者/设置者

java - “比较方法违反了其一般契约”,没有传递错误的迹象

c++ - C++ 子类是否可以共享相同的模板?

java - 访问非静态嵌套类