java - 為什么此私有靜態(tài)變量能被訪問呢?
問題描述
class Test{ private static int i = 1;public static void main(String[] args){Test test = new Test();System.out.println(test.i); //此處為何能訪問到私有的i變量呢? }}
如果與Test類不同包,調(diào)用i變量卻報錯,為何?
問題解答
回答1:因為main函數(shù)也是Test類的靜態(tài)函數(shù)
回答2:給你這個圖片吧。你可以看看,尤其要注意protected與缺省之間的區(qū)別。
private關(guān)鍵字的意思是除了包含這個成員的類之外,其他類都沒法訪問這個成員,包括同處于這個包內(nèi)的其他類。所以不僅是不同包,相同的包也無法訪問。
回答4:如果這都不行,private修飾的變量還有什么用?
回答5:當(dāng)前類為何不行?
回答6:如果不行的話,那i在哪用的,豈不是白白聲明一個i啊。還有private是其他類調(diào)用Test類的 i 是不能調(diào)用的,本類不受限制的。
回答7:顯然你要重新學(xué)習(xí):public private static protected 這四個在面向?qū)ο缶幊痰某S眯揎椃?/p>回答8:
由于i是static,所以test.i(實例.靜態(tài)變量)等價于Test.i(類.靜態(tài)變量),i又是private,所以只能在Test類內(nèi)被訪問。
回答9:這個是一個編程的基礎(chǔ)問題。希望再去看一下定義和范圍。
回答10:因為private修飾的變量可以在本類中被訪問,這是關(guān)于訪問修飾符的問題。
相關(guān)文章:
1. 點擊頁面就自動輸入到mysql.求解2. javascript - vue 數(shù)據(jù)更新了。但是dom沒有更新,,,,,如圖3. java - 多叉樹求值,程序高手,算法高手看過來4. javascript - 判斷用戶網(wǎng)絡(luò)環(huán)境5. javascript - iframe 為什么加載網(wǎng)頁的時候滾動條這樣顯示?6. javascript - windos下第一次用Django無法正確創(chuàng)建工程目錄7. java - IDEA從SVN檢出項目 并在tomcat上運行 求詳細(xì)流程8. css - 百分比min-height的一個問題9. valign=top 是啥意思10. javascript - weex 怎么監(jiān)聽滾動到某處,然后添加fixed固定效果
