爲什麼內部類可以訪問這樣的類的輸入對象參數的私有字段?內部類方法和私有字段
private class Inner {
private int privatefield = 0;
public void method(Inner inner) {
privatefield = 1; //ok
inner.privatefield = 1; //this line confusing me (broken incapsulation)
}
}
如果它是私密的,一個類可以訪問該屬性。包,子類或整體世界中沒有任何東西,但同一類中的所有東西都沒有。 http://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html – Joetjah
所以任何內部類的私有字段都是外部類的字段(沒有訪問限制)。但它是中斷封裝。在我看來,我應該只能訪問外部字段和內部類字段,而不能訪問另一個內部類實例的字段。 – pswrdf
第一種情況在這裏解釋:[鏈接](http://stackoverflow.com/a/17027518/2728393) – pswrdf