1. 程式人生 > >java中public,static,private,final,this,protected等關鍵字的概念

java中public,static,private,final,this,protected等關鍵字的概念

都大三了仍對對這些概念中的某些不太熟悉,或者是記不住,今天特地翻書本去網上找資料,把這些給整理記錄下來,以便以後需要用到的時候檢視。

一、訪問許可權

所謂訪問許可權是指物件是否可以通過“.”運算子操作自己的變數或通過“.”運算子使用類中的方法。訪問限制修飾符有private、protected和public。注意:在編寫類的時候,類中的例項方法總是可以操作該類中的例項變數和類變數;類方法總是可以操作該類中的類變數,與訪問限制符沒有任何關係。

1.private

用private修飾的成員變數(方法)稱為私有變數(私有方法),例:

class Dream
{
    private float price;
    private float add(float p1,float p2)
    {
        return p1+p2;
    }
}

當在另一個類中用Dream類例項化一個物件後,該物件不能訪問自己的私有變數(私有方法)。

2.public

用public修飾的成員變數(方法)稱為共有變數(共有方法),例:

class Dream
{
    public float price;
    public float add(float p1,float p2)
    {
        return p1+p2;
    }
}

當在另一個類中用Dream類例項化一個物件後,該物件能訪問自己的共有變數(共有方法)。如果Dream類中某個成員是public類變數(public方法),在另外一個類中也可以通過類名Dream來操作Dream的這個成員變數(方法)。類宣告時,在class前加上public,就是一個public類,可以在任何另外一個類中使用public類建立物件。

3.protected

用protected修飾的成員變數(方法)稱為受保護的成員變數(受保護的方法),例:

class Dream
{
    protected float price;
    protected float add(float p1,float p2)
    {
        return p1+p2;
    }
}

在任何一個與Dream類同一包名的類中,可以通過Dream類的類名訪問Dream類的protected類變數(protected類方法)。

4.友好類,友好方法,友好變數

如果一個類(成員變數)(方法)不加修飾符,該類(成員變數)(方法)被成為友好類(友好變數)(友好方法),在使用另外一個類中使用友好類建立物件時,要保證它們在同一個包中。在另外一個類中訪問友好變數(友好方法)時,需要這兩個類在同一包中。

注:(1)不能用protected和private修飾類。

      (2)訪問許可權修飾符從高到底的順序是:public,protected,友好,private。

     (3)protected和友好的區別:在子類繼承父類時,子類只繼承父類中的protected和public訪問許可權的成員變數(方法),作為子類的成員變數(方法)。而友好的卻不會被繼承。

二、其他一些常用關鍵字

1.super

(1)用super操作被隱藏的成員變數和方法。子類一旦隱藏了繼承的成員變數(方法),那麼子類建立的物件就不再擁有該變數(方法),該變數(方法)將歸為super擁有。如果子類想使用隱藏的成員變數(方法),就需要super,例:super.name、super.play()就是訪問被子類隱藏的成員變數name和方法play()。

(2)使用super呼叫父類的構造方法。由於子類不繼承父類的構造方法,因此子類在其構造方法中需使用super來呼叫父類的構造方法,而且super必須是子類構造方法中的第一條語句,即如果在子類的構造方法中沒有明顯的寫出super關鍵字來呼叫父類的某個構造方法那麼預設有:super();如果類裡定義了一個或多個構造方法,那麼Java不提供預設的構造方法(無參的構造方法),因此當我們在父類裡定義多個構造方法時,應當包括一個無參的構造方法,以防止子類省略super時出錯。

2.this

(1)在構造方法中使用this,this出現在類的構造方法中時,代表使用該構造方法建立的物件

(2)在例項方法中使用this,例項方法必須只能通過物件來呼叫,不能用類名來呼叫。當this關鍵字出現在例項方法中時,代表正在呼叫該方法的當前物件。但,this不能出現在類方法中。

注:(1)在宣告成員變數(方法),用static給予修飾的稱作類變數(方法),否則稱作例項變數(類變數(方法)也稱為static變數(方法),靜態變數(方法))。