接口提供100%抽象,它的方法没有实现来实现抽象行为的方法
但是在这里,我有一个例子使我不得不考虑接口的抽象能力。

我里面有接口和类,它有具体的方法,我可以在另一个类中访问该方法

例:-

interface InnerInterFaceTest1 {
     class InnerClass {
        public  void doWork() {
            System.out.println("in interface innner class");
        }
    }
}
public class InnerInterFaceTest implements InnerInterFaceTest1 {
    public static void main(String... a) {
        InnerInterFaceTest1.InnerClass class1 = new InnerInterFaceTest1.InnerClass() ;
        class1.doWork();
    }
}


具有内部类的接口的概念会执行此操作吗?否则有意义吗?

最佳答案

interface中的类声明是隐式的static,因此它们是嵌套类,而不是真正的内部类,即它们的实例没有引用外部interface的实例。

因此,您有一个具体的class InnerInterFaceTest1.InnerClass,它与interface InnerInterFaceTest1具有某种名称空间关系,但是,抽象没有其他后果,特别是对于您的问题,由于该嵌套类的存在。例如,这与有人创建一个顶级类并将其命名为interface一样。

10-07 19:19
查看更多