欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

關(guān)于Java中的頂層類修飾問題

 更新時間:2021年11月03日 09:58:05   作者:sicaujh  
這篇文章主要介紹了關(guān)于Java中的頂層類修飾問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Java 頂層類修飾問題

對于這個問題,一直沒有仔細(xì)思考

今天整理一下

對于頂級類(外部類)來說,只有兩種修飾符:public和默認(rèn)(default)。因為外部類的上一單元是包,所以外部類只有兩個作用域:同包,任何位置。因此,只需要兩種控制權(quán)限:包控制權(quán)限和公開訪問權(quán)限,也就對應(yīng)兩種控制修飾符:public和默認(rèn)(default)。

如果類使用了private修飾符,說明是個內(nèi)部類。內(nèi)部類的上一級是外部類,那么對應(yīng)的有四種訪問控制修飾符:本類(private),同包(default),父子類(protected),任何位置(public)。當(dāng)一個內(nèi)部類使用了private修飾后,只能在該類的外部類內(nèi)部使用。

上面這些都是平時使用司空見慣的

但是為什么是這種情況呢?

可以想一下,一個java項目是不可能在一個class里面完成的。mvc模式中,是把類分為三層,一層層調(diào)用類。如果定義為私有的和受保護的就無法調(diào)用。

換句話說,對于一個java文件,要么就是自己單獨運行,要么就是被其他程序作為庫調(diào)用,如果一個java文件的類被private修飾,那么是不是其他的程序或是類是無法使用它的,那么他作為一個單獨的文件就沒啥用了。

如果它作為單個文件運行,類加載怎么找到它呢,因為它對外不可見。同時,也失去了類的存在意義。因此,類只有public和默認(rèn)修飾符。

private不能用于修飾頂層類

原因

對于頂層類(外部類)來說,只有兩種修飾符:public和默認(rèn)(default)。

因為外部類的上一單元是包,所以外部類只有兩個作用域:同包,任何位置。

因此,只需要兩種控制權(quán)限:包控制權(quán)限和公開訪問權(quán)限,

也就對應(yīng)兩種控制修飾符:public和默認(rèn)(default)。

但是private可以修飾class的,只不過該類不能使頂層類,

可以是內(nèi)部類 內(nèi)部類的上一級是外部類,那么對應(yīng)的有四種訪問控制修飾符:本類(private),同包(default),父子類(protected),任何位置(public)。

當(dāng)一個內(nèi)部類使用了private修飾后,只能在該類的外部類內(nèi)部使用

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • java實現(xiàn)二叉樹遍歷的三種方式

    java實現(xiàn)二叉樹遍歷的三種方式

    這篇文章主要為大家詳細(xì)介紹了java實現(xiàn)二叉樹遍歷的三種方式,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • JavaWeb如何發(fā)送狀態(tài)碼方法解析

    JavaWeb如何發(fā)送狀態(tài)碼方法解析

    這篇文章主要介紹了JavaWeb如何發(fā)送狀態(tài)碼方法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-02-02
  • springboot整合security和vue的實踐

    springboot整合security和vue的實踐

    本文主要介紹了springboot整合security和vue的實踐,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Spring MVC深入學(xué)習(xí)之啟動初始化過程

    Spring MVC深入學(xué)習(xí)之啟動初始化過程

    最近因為工作的原因在學(xué)習(xí)Spring MVC,為了更深入的學(xué)習(xí)Spring MVC,下面這篇文章主要給大家介紹了關(guān)于Spring MVC深入學(xué)習(xí)之啟動初始化過程的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。
    2017-07-07
  • 簡單講解在Java編程中實現(xiàn)設(shè)計模式中的單例模式結(jié)構(gòu)

    簡單講解在Java編程中實現(xiàn)設(shè)計模式中的單例模式結(jié)構(gòu)

    這篇文章主要介紹了簡單講解在Java編程中實現(xiàn)設(shè)計模式中的單例模式結(jié)構(gòu),設(shè)計模式是最基本直白簡單的一種設(shè)計模式,需要的朋友可以參考下
    2016-04-04
  • Log4j2?重大漏洞編譯好的log4j-2.15.0.jar包下載(替換過程)

    Log4j2?重大漏洞編譯好的log4j-2.15.0.jar包下載(替換過程)

    Apache?開源項目?Log4j?的遠(yuǎn)程代碼執(zhí)行漏洞細(xì)節(jié)被公開,由于?Log4j?的廣泛使用,該漏洞一旦被攻擊者利用會造成嚴(yán)重危害,下面小編給大家?guī)砹薒og4j2?重大漏洞編譯好的log4j-2.15.0.jar包下載,感興趣的朋友一起看看吧
    2021-12-12
  • springboot多項目結(jié)構(gòu)實現(xiàn)

    springboot多項目結(jié)構(gòu)實現(xiàn)

    本文主要介紹了springboot多項目結(jié)構(gòu)實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • HttpClient的KeepAlive接口方法源碼解析

    HttpClient的KeepAlive接口方法源碼解析

    這篇文章主要為大家介紹了HttpClient的KeepAlive接口方法源碼解析,
    有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • Maven打包jar包沒有主屬性問題解決方案

    Maven打包jar包沒有主屬性問題解決方案

    這篇文章主要介紹了Maven打包jar包沒有主屬性問題解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-07-07
  • 解決idea中svn提交時performing vcs refresh時間很長的問題

    解決idea中svn提交時performing vcs refresh時間很長的問題

    這篇文章主要介紹了解決idea中svn提交時performing vcs refresh時間很長的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09

最新評論