接口提供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
一样。