更新時(shí)間:2019-09-16 11:54:14 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽4255次
今天動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)小編為大家介紹“java類(lèi)成員訪問(wèn)控制權(quán)限”,希望通過(guò)此文大家能夠掌握java類(lèi)成員訪問(wèn)控制權(quán)限,下面就隨小編一起看看java類(lèi)成員訪問(wèn)控制權(quán)限有哪些?
在JAVA中有四種訪問(wèn)控制權(quán)限,分別為:private, default, protected, public
1、Private
如果一個(gè)成員方法或變量名前使用了private, 那么這個(gè)成員只能在類(lèi)的內(nèi)部使用。
2、Default
如果一個(gè)成員方法或變量名前沒(méi)有使用任何訪問(wèn)控制符,就為default。默認(rèn)的訪問(wèn)控制成員可以被這個(gè)包中的其它類(lèi)訪問(wèn)(包括這個(gè)包中的子類(lèi)內(nèi)部以及這個(gè)包中所有類(lèi)以對(duì)象.成員的方式訪問(wèn))。如果這個(gè)子類(lèi)不在這個(gè)包中,則子類(lèi)也不能訪問(wèn)父類(lèi)的默認(rèn)訪問(wèn)控制成員
3、Protected
這個(gè)成員既可以被這個(gè)包中其它類(lèi)訪問(wèn),也可以被不同包中的子類(lèi)內(nèi)部訪問(wèn)
4、Public
可以被所有類(lèi)訪問(wèn),不管訪問(wèn)類(lèi)與被訪問(wèn)類(lèi)在不在同一個(gè)包中
總結(jié)如下:
以下是示例代碼:
1、包myjava.learn.package1:
Person.java
package myjava.learn.package1;
public class Person {
private int a_pri = 10; // private只能在本類(lèi)被訪問(wèn), 子類(lèi)也不能訪問(wèn)
int a_defaut = 11;
protected int a_prot = 12;
public int a_pub = 13;
}
PersonPackage1.java
package myjava.learn.package1;
public class PersonPackage1 extends Person{
void fun(){
// 以下當(dāng)然可以被訪問(wèn),因?yàn)樵谕粋€(gè)包中的類(lèi)可以訪問(wèn)default, protected, public
this.a_defaut = 12;
this.a_prot = 13;
this.a_pub = 14;
System.out.println( this.a_defaut );
}
}
Main.java
package myjava.learn.package1;
public class Main {
public static void main( String args [] ){
PersonPackage1 pp = new PersonPackage1();
pp.fun();
// 同一包中的類(lèi)可以以[對(duì)象.成員]訪問(wèn)default, protected, public
System.out.println( pp.a_defaut );
System.out.println( pp.a_prot );
System.out.println( pp.a_pub );
}
}
2、包myjava.learn.package2:
Main.java
package myjava.learn.package2;
import myjava.learn.package1.PersonPackage1;
import myjava.learn.package1.Person;
// 其它包中的子類(lèi)
class PersonPackage2 extends Person{
void PrintAttr(){
// 不同包的子類(lèi)只能訪問(wèn)父類(lèi)的public, protected
System.out.println(this.a_prot);
System.out.println(this.a_pub );
}
}
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 其它包中的類(lèi)(對(duì)象.成員, 不是子類(lèi)),只能訪問(wèn)public成員
PersonPackage1 pp = new PersonPackage1();
System.out.println(pp.a_pub);
PersonPackage2 pp2 = new PersonPackage2();
pp2.PrintAttr();
}
}
以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)小編介紹的“java類(lèi)成員訪問(wèn)控制權(quán)限有哪些?”的內(nèi)容,希望對(duì)大家有幫助,更多java最新資訊請(qǐng)繼續(xù)關(guān)注動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)官網(wǎng),每天會(huì)有精彩內(nèi)容分享與你。
相關(guān)免費(fèi)視頻教程推薦-java入門(mén)學(xué)習(xí)零基礎(chǔ)教程下載
java類(lèi)成員的訪問(wèn)權(quán)限:http://m.ilovecolors.com.cn/xiazai/2587.html
java類(lèi)的訪問(wèn)權(quán)限:http://m.ilovecolors.com.cn/xiazai/2588.html
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)