假设我有以下内容:
public class A {
//stuff
public class B implements I {}
}
public interface I {}
public class Foo {
int bar(I i) {}
}
现在,当我尝试将 B 的实例传递给类 A 主体内的 Foo.bar() 时,为什么 Java 会给我一个“不适用于类型...”的构建错误?
内部类是否被认为是 I 的正确实现,因为它包含在顶级类中?
干杯,戴夫。
最佳答案
您需要类 A 的实例,然后才能创建对象 B 的实例(因为 B 是 A 的内部类)。 试试这个代码:
Foo foo = new Foo();
A a = new A();
B b = a.new B();
foo.bar(b);
关于java - 传递实现接口(interface)的内部类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6369847/