文章詳情頁
java - 為什么此私有靜態變量能被訪問呢?
瀏覽:102日期:2024-02-10 14:21:02
問題描述
class Test{ private static int i = 1;public static void main(String[] args){Test test = new Test();System.out.println(test.i); //此處為何能訪問到私有的i變量呢? }}
如果與Test類不同包,調用i變量卻報錯,為何?
問題解答
回答1:因為main函數也是Test類的靜態函數
回答2:給你這個圖片吧。你可以看看,尤其要注意protected與缺省之間的區別。
private關鍵字的意思是除了包含這個成員的類之外,其他類都沒法訪問這個成員,包括同處于這個包內的其他類。所以不僅是不同包,相同的包也無法訪問。
回答4:如果這都不行,private修飾的變量還有什么用?
回答5:當前類為何不行?
回答6:如果不行的話,那i在哪用的,豈不是白白聲明一個i啊。還有private是其他類調用Test類的 i 是不能調用的,本類不受限制的。
回答7:顯然你要重新學習:public private static protected 這四個在面向對象編程的常用修飾符
回答8:由于i是static,所以test.i(實例.靜態變量)等價于Test.i(類.靜態變量),i又是private,所以只能在Test類內被訪問。
回答9:這個是一個編程的基礎問題。希望再去看一下定義和范圍。
回答10:因為private修飾的變量可以在本類中被訪問,這是關于訪問修飾符的問題。
標簽:
java
相關文章:
1. javascript - 在top.jsp點擊退出按鈕后,right.jsp進行頁面跳轉,跳轉到login.jsp2. android - 哪位大神知道java后臺的api接口的對象傳到前端后輸入日期報錯,是什么情況?求大神指點3. java - spring-data Jpa 不需要執行save 語句,Set字段就可以自動執行保存的方法?求解4. css3 - 在sublime text里, 如何讓emmet生成的帶前綴css屬性垂直對齊?5. mac連接阿里云docker集群,已經卡了2天了,求問?6. [前端求職必看]前端開發面試題與答案精選_擴展問題7. javascript - js 有什么優雅的辦法實現在同時打開的兩個標簽頁間相互通信?8. javascript - jquery怎么給select option一個點擊時觸發的事件,如圖 如果選擇自定義觸發一個時間?9. css3 - Typecho 后臺部分表單按鈕在 Chrome 下出現靈異動畫問題,求解決10. html - CSS如何處理圖片縮放問題?
排行榜
