所以我有這個類(我們稱之爲「A」)與這個get()
方法,它返回一個類字段,我想從另一個類(「B」)訪問。 重要提示:兩個班都是abstract
。這些類別與package
(A
和B
成員均爲package private
)相同。 Main
類沒有包(或更好,默認的)。如何從(默認包)訪問包中的非靜態類字段?
[之前:扭曲的和無用的描述]
我從B
類需要訪問A
的get()
方法。
試圖用:
1)非靜態呼叫Aobj.get()
從main
- 位於根對象開始,但它似乎要的靜態調用(怪異,沒有成員是static
);
2)試圖靜態訪問它,我得到了Cannot make a static reference to the non-static field
錯誤(當然)。
...所以我被困住了,仍然得到訪問語法錯誤,我嘗試了兩種方式。有什麼建議?
編輯:
於是我走到了盡頭。我現在試着解釋我的錯誤。
基本上,問題是我想要訪問位於包中類的Main
類(默認包)中的對象。所以我有一個可見性問題。
在其他情況下,我會解決導入類,但我想通了,you cannot import a class located in the default package,所以我創建了一個main
封裝,B
一流的進口Main
類。
我就繼續做的最糟糕的錯誤是想法,我不得不訪問來自main
本身,這是一個真的很糟糕思想(仍然想不通我怎麼想它的main.main(String[])... etc ...Aobj
開始)。
事實上,像斯蒂芬ç指出:
的是真實的,不論搭配套餐的情況下,也不論你採取過其他類的路徑。
最後,代碼示例...說實話,代碼現在真的和我寫這個問題的日子不同了,老實說我不能重現錯誤的條件,因爲我不記得所有的我試圖實現的錯誤邏輯。 (我的錯。)我只希望這次能夠正確解釋自己。
感謝大家試圖幫助。
請參閱:http://stackoverflow.com/help/mcve – 2016-07-16 03:33:24