對(duì) class 的訪問控制——java學(xué)習(xí)筆記

在 java 中,聲明訪問權(quán)限的關(guān)鍵字有三個(gè),分別是 public protected private。

一個(gè) class 如果不能被其他 class 調(diào)用,那它就沒有存在的必要。在 java 中 ,聲明一個(gè) class 為 protected 或 private 會(huì)導(dǎo)致這個(gè) class 成為一個(gè)孤島無法和外部取得聯(lián)系,因此 protected 和 ?private ?是不能用來修飾 class 的。

那么就只剩下 public ?了。正如 public 的中義(公開的)所指,被 public 聲明的 class 能被其他 class ?自由的訪問。所以絕對(duì)大部分時(shí)候,你都需要把 一個(gè) class 聲明為 public。

人總是會(huì)犯錯(cuò)的,有時(shí)忘記寫 public ,這時(shí)你會(huì)發(fā)現(xiàn)程序依舊正常運(yùn)行。那么什么時(shí)候忘記寫 public 會(huì)出錯(cuò)呢?當(dāng)被訪問的 class(Person) 與 訪問者 class 不同屬于一個(gè) package 時(shí),如果被訪問的 class? 沒有聲明為 public ,程序?qū)?bào)錯(cuò),錯(cuò)誤信息為:

錯(cuò)誤: Person在net.saqing中不是公共的; 無法從外部程序包中對(duì)其進(jìn)行訪問


總結(jié)

對(duì) class 的訪問控制有兩種方式,一種是聲明 class 為 public ,另一種是不聲明為 public.

with public , 該 class 可以自由的被訪問

without public, 該 class 只可以被同一個(gè) package 中的 其他 class 訪問

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,525評(píng)論 19 139
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,628評(píng)論 18 399
  • 多態(tài) 任何域的訪問操作都將有編譯器解析,如果某個(gè)方法是靜態(tài)的,它的行為就不具有多態(tài)性 java默認(rèn)對(duì)象的銷毀順序與...
    yueyue_projects閱讀 1,088評(píng)論 0 1
  • 小編費(fèi)力收集:給你想要的面試集合 1.C++或Java中的異常處理機(jī)制的簡(jiǎn)單原理和應(yīng)用。 當(dāng)JAVA程序違反了JA...
    八爺君閱讀 5,172評(píng)論 1 114
  • 效率類 印象筆記(Evernote) 介紹: 印象筆記是一款筆記類軟件,支持全平臺(tái)同步。地址: https://w...
    CaryZheng閱讀 525評(píng)論 0 0

友情鏈接更多精彩內(nèi)容