受保护/公共内部类
2022-09-03 13:09:43
有人可以向我解释一下/内部类之间的区别吗?protected
public
我知道内部类应尽可能避免(如本文所述)。public
但据我所知,使用或修饰符之间没有区别。protected
public
请看这个例子:
public class Foo1 {
public Foo1() { }
protected class InnerFoo {
public InnerFoo() {
super();
}
}
}
...
public class Foo2 extends Foo1 {
public Foo2() {
Foo1.InnerFoo innerFoo = new Foo1.InnerFoo();
}
}
...
public class Bar {
public Bar() {
Foo1 foo1 = new Foo1();
Foo1.InnerFoo innerFoo1 = foo1.new InnerFoo();
Foo2 foo2 = new Foo2();
Foo2.InnerFoo innerFoo2 = foo2.new InnerFoo();
}
}
所有这些都是编译的,无论我声明还是.InnerFoo
protected
public
我错过了什么?请指出一个使用 或 有区别的情况。protected
public
谢谢。