我相信這個問題已經被問過,但我沒能找到一個,所以我會問...
我很好奇私人(保護)和公共內部類之間有什麼區別。我能夠從使用外部類對象的包含類之外使用它們。
public class A{
private class B{
}
public static void main(String[] args){
A a = new A();
B b = a.new B();
}
}
我相信這個問題已經被問過,但我沒能找到一個,所以我會問...
我很好奇私人(保護)和公共內部類之間有什麼區別。我能夠從使用外部類對象的包含類之外使用它們。
public class A{
private class B{
}
public static void main(String[] args){
A a = new A();
B b = a.new B();
}
}
私有內部類仍然可以在定義它的類中訪問。
如果你有另一個類,B
是不可見的:
public class C {
public static void main(String[] args){
A a = new A();
B b = new B(); // compile error
}
}
哦,我明白了......謝謝! – Headshota
其實,你是A類還在裏面,因爲主要方法是類的靜態方法的
是它允許在java中使用'a.new B()'? –
@ Eng.Fouad:是的,這就是如何在Java中實例化非靜態內部類。 –
還允許使用簡稱新A()。new B() –