您好,登錄后才能下訂單哦!
這篇文章主要講解了“怎么理解關于Java中的頂層類修飾問題”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“怎么理解關于Java中的頂層類修飾問題”吧!
對于這個問題,一直沒有仔細思考
對于頂級類(外部類)來說,只有兩種修飾符:public和默認(default)。因為外部類的上一單元是包,所以外部類只有兩個作用域:同包,任何位置。因此,只需要兩種控制權限:包控制權限和公開訪問權限,也就對應兩種控制修飾符:public和默認(default)。
如果類使用了private修飾符,說明是個內部類。內部類的上一級是外部類,那么對應的有四種訪問控制修飾符:本類(private),同包(default),父子類(protected),任何位置(public)。當一個內部類使用了private修飾后,只能在該類的外部類內部使用。
上面這些都是平時使用司空見慣的
可以想一下,一個java項目是不可能在一個class里面完成的。mvc模式中,是把類分為三層,一層層調用類。如果定義為私有的和受保護的就無法調用。
換句話說,對于一個java文件,要么就是自己單獨運行,要么就是被其他程序作為庫調用,如果一個java文件的類被private修飾,那么是不是其他的程序或是類是無法使用它的,那么他作為一個單獨的文件就沒啥用了。
如果它作為單個文件運行,類加載怎么找到它呢,因為它對外不可見。同時,也失去了類的存在意義。因此,類只有public和默認修飾符。
對于頂層類(外部類)來說,只有兩種修飾符:public和默認(default)。
因為外部類的上一單元是包,所以外部類只有兩個作用域:同包,任何位置。
因此,只需要兩種控制權限:包控制權限和公開訪問權限,
也就對應兩種控制修飾符:public和默認(default)。
但是private可以修飾class的,只不過該類不能使頂層類,
可以是內部類 內部類的上一級是外部類,那么對應的有四種訪問控制修飾符:本類(private),同包(default),父子類(protected),任何位置(public)。
當一個內部類使用了private修飾后,只能在該類的外部類內部使用
感謝各位的閱讀,以上就是“怎么理解關于Java中的頂層類修飾問題”的內容了,經過本文的學習后,相信大家對怎么理解關于Java中的頂層類修飾問題這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。