修飾符小談

在Java中提供了四種訪問權(quán)限,使用不同的訪問權(quán)限時,被修飾的內(nèi)容會有不同的訪問權(quán)限,以下表來說明不同權(quán)限的訪問能力:

???????????????????????????????????????? public???? ?? protected???????? 空的(default) ? ? ? private

同一類中????????????????????????????? √????????????????? √??????????????????????? √?????????????????????? √

同一包中(子類與無關(guān)類)????? √????????????????? √???????????????????????? √

不同包的子類?????????????????????? √????????????????? √

不同包中的無關(guān)類??????????????? √

歸納一下:在日常開發(fā)過程中,編寫的類、方法、成員變量的訪問

?????? 要想僅能在本類中訪問使用private修飾;

?????? 要想本包中的類都可以訪問不加修飾符即可;

?????? 要想本包中的類與其他包中的子類可以訪問使用protected修飾

?????? 要想所有包中的所有類都可以訪問使用public修飾。

這里要注意的是,如果類用public修飾,則類名必須與文件名相同。一個文件中只能有一個public修飾的類。

這里著重說說受保護權(quán)限pretected.有人說它的用法是:受保護,給子類用

下面代碼說明問題:

package com.fenxiang.protecteddemo;

???? public classFu {

??????????? protected void pro(){

?????????????????? System.out.println("受保護權(quán)限的方法");

???????????? }

???? }

package com.fenxiang.protecteddemo;

public class Zi extends Fu{

}

package com.fenxiang.demo;

import com.fenxiang.protecteddemo.Zi;

public classDemo {

???? public static void main(String[]args) {

????????????? Zi z = new Zi();

????????????? z.pro(); //無法調(diào)用Pro方法

????? }

}

但是在這里測試類Demo中無法調(diào)用Pro方法,所以理解為”給子類用”是有問題的

下面修改后代碼:

package com.fenxiang.protecteddemo;

public class Fu {

?????? protected void pro(){

????????????? System.out.println("受保護權(quán)限的方法");

?????? }

}

package com.fenxiang.protecteddemo;

public class Zi extends Fu{

?????? public void show(){?? //加入show方法,在show方法中調(diào)用pro方法

????????????? pro();

?????? }

}

package com.fenxiang.demo;

import com.fenxiang.protecteddemo.Zi;

public class Demo {

?????? public static void main(String[]args) {

?????????????? Zi z = new Zi();

?????????????? z.show();???? //調(diào)用子類中的show方法

??????? }

}

修改后編譯成功,程序正常運行,輸出:受保護權(quán)限的方法

所以得到結(jié)論:

受保護權(quán)限用法:只能在子類中去使用,出去子類,不能使用

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

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

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,688評論 18 399
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,554評論 19 139
  • 原以為長大了,漂亮的百褶裙、光澤細膩的皮膚,想要的自由,可以和不喜歡的人對不喜歡的事有說不的權(quán)利,該懂得道理,為...
    久陽Kathy閱讀 232評論 0 1
  • 《登鸛雀樓》它不僅僅是一首詩,可以讓人領(lǐng)略昔日大唐王朝詩人王之渙壯志凌云的胸懷走進他的夢幻世界,和他一起感受世間的...
    晚起畫蛾眉閱讀 406評論 0 2
  • 劇本和小說的相同與不同小說轉(zhuǎn)換成劇本的重點是什么 小說比較自由,我手寫我心,劇本是工業(yè)的東西,有嚴格的劇作的方式和...
    阿果悠悠閱讀 675評論 0 0

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