要被訪問當我在包com.access.test
在訪問一個缺省(與像公共或在它前面的私人沒有訪問修飾符)訪問可變像String s = "hello"
從class A
到class B
相同的包,我無法獲得class B
中的變量s
。 IDE顯示變量s
從不定義。變量與默認訪問關鍵字是無法在同一個包中的不同類
但是爲什麼Java會說默認訪問變量可以在同一個包中訪問。就像我們知道通過擴展類可以從不同的包中訪問受保護的變量。 因此,一個默認變量應該可以訪問,甚至不需要對其進行class A
的對象實例化(A a = new A()
,然後a.s
)。 請解釋。
做兩個類文件定位在同一個文件夾? –
不,我不這麼認爲。在eclipse中它們處於相同的包中。 –
如果它們位於不同的文件夾中,則它們被視爲處於不同的包中。 Java中沒有包層次結構,即類'a.b.c'中的類不會看到包'a.b'類的包 - 私有字段和方法,反之亦然。 –