亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

Java 頂層類修飾問題

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

今天整理一下

對(duì)于頂級(jí)類(外部類)來說,只有兩種修飾符:public和默認(rèn)(default)。因?yàn)橥獠款惖纳弦粏卧前?,所以外部類只有兩個(gè)作用域:同包,任何位置。因此,只需要兩種控制權(quán)限:包控制權(quán)限和公開訪問權(quán)限,也就對(duì)應(yīng)兩種控制修飾符:public和默認(rèn)(default)。

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

上面這些都是平時(shí)使用司空見慣的

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

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

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

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

private不能用于修飾頂層類

原因

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

因?yàn)橥獠款惖纳弦粏卧前?,所以外部類只有兩個(gè)作用域:同包,任何位置。

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

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

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

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

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

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

相關(guān)文章

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

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

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

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

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

    springboot整合security和vue的實(shí)踐

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

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

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

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

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

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

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

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

    本文主要介紹了springboot多項(xiàng)目結(jié)構(gòu)實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(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ì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • 解決idea中svn提交時(shí)performing vcs refresh時(shí)間很長的問題

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

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

最新評(píng)論