1. 程式人生 > >Java語言基礎22--訪問權限

Java語言基礎22--訪問權限

通過 new t 私有 public 語言 修飾符 運算 關鍵字 私有變量

訪問權限

當用一個類創建了一個對象之後,該對象可以通過“.”運算符操作自己的變量、使用類中的方法,但對象操作自己的變量和使用類中的方法是有一定限制的。
所謂訪問權限是指對象是否可以通過“.”運算符操作自己的變量或通過“.”運算符使用類中的方法。
訪問限制修飾符有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。

Java語言基礎22--訪問權限