Java语言基础22--访问权限
訪問權限
?
當用一個類創建了一個對象之后,該對象可以通過“.”運算符操作自己的變量、使用類中的方法,但對象操作自己的變量和使用類中的方法是有一定限制的。??
所謂訪問權限是指對象是否可以通過“.”運算符操作自己的變量或通過“.”運算符使用類中的方法。?
訪問限制修飾符有private、protected和public,都是Java的關鍵字,用來修飾成員變量或方法。?
一、私有變量和私有方法
用關鍵字private修飾的成員變量和方法稱為私有變量和私有方法。?
對于私有成員變量或方法,只有在本類中創建該類的對象時,這個對象才能訪問自己的私有成員變量和類中的私有方法。
?class Tom {
??? private float weight;?
??? private float f(float a,float b){??
??????? return a+b;
??? }?????
}
class Jerry {
?? void g() {
?????? Tom cat=new Tom();
?????? cat.weight=23f;??? //非法
?????? float sum=cat.f(3,4);?? //非法
??? }
}
?
二、共有變量和共有方法
用public修飾的成員變量和方法被稱為共有變量和共有方法 。?
我們在任何一個類中用類Tom 創建了一個對象后,該對象能訪問自己的public變量和類中的public方法(也可以通過類名來操作成員變量、方法) 。
class Tom {
??? public float weight;??
??? public float f(float a,float b) {??
???????? return a+b;
??? }??
}
class Jerry {
? void g() {?
??????? Tom cat=new Tom();
???????? cat.weight=23f;???? //合法
???????? float sum=cat.f(3,4);?? //合法
??? }
}
?
三、受保護的變量和方法
用protected修飾的成員變量和方法被稱為受保護的成員變量和受保護的方法 。
我們在任何一個類中用類Tom 創建了一個對象后,如果這個類和類Tom在同一個包中,那么該對象能訪問自己的protected變量和類中的protected方法。
class Tom {?
??? protected? float weight;????????? ????
??? protected float f(float a,float b) {???
??????? return a+b;
??? }?????
}
class Jerry {??
?? void g() {
??????? Tom cat=new Tom();
??????? cat.weight=23f;????? //合法
??????? float sum=cat.f(3,4); //合法
??? }
?
四、友好變量和友好方法
不用private、public、protected修飾的成員變量和方法被稱為友好變量和友好方法。
我們在任何一個類中用類Tom 創建了一個對象后,如果這個類和類Tom在同一個包中,那么該對象能訪問自己的友好變量和類中的友好方法。
class Tom {?
??? protected? float weight;????????? ????
??? protected float f(float a,float b) {???
??????? return a+b;
??? }?????
}
class Jerry {??
?? void g() {
??????? Tom cat=new Tom();
??????? cat.weight=23f;????? //合法
??????? float sum=cat.f(3,4); //合法
??? }
?
五、public類與友好類
類聲明時,如果在關鍵字class前面加上public關鍵字,就稱這樣的類是一個public 類 。
可以在任何另外一個類中,使用public類創建對象。?
如果一個類不加public修飾,這樣的類被稱作友好類。
在另外一個類中使用友好類創建對象時,要保證它們是在同一包中。
注:
(1)不能用protected和private修飾類
(2)訪問限制修飾符按訪問權限從高到低的排列順序是:public、ptotected、友好的、private。
?
轉載于:https://www.cnblogs.com/wack/p/10180681.html
總結
以上是生活随笔為你收集整理的Java语言基础22--访问权限的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Ubuntu上sublime配置node
- 下一篇: # 20175213 2018-2019