對於沒有實現任何接口的私有嵌套類,「public」或「protected」方法沒有任何區別。對於沒有實現任何接口的私有嵌套類,「public」或「protected」方法沒有任何區別。
如果私人嵌套類沒有實現任何接口或從任何類繼承,對於其方法的修飾,似乎「公」或「受保護」或沒有修飾沒有任何區別。如果編譯器只允許他們使用「private」,那將會更有意義。所以 爲什麼Java允許他們?
class Enclosing {
private class Inner {
private void f1() {}
void f2() {}
protected void f3() {}
public void f4() {}
}
void test() {
Inner o= new Inner();
o.f1();
o.f2();
o.f3();
o.f4();
}
}
我的問題是公共/保護/無方法不作區別的內部類不繼承... –
它不會使你所給出的例子任何區別。檢查我的答案中的例子,它有所作爲。你的問題是_Why是否允許他們?_ – Santosh
我不是在談論私人方法。我涉及公共/保護/包訪問修飾符。如果你刪除你的私人會員。你能看到public/protect/package訪問修飾符之間的區別嗎? –