Java面向對象--類的特性

一、類的私有成員與公共成員

  1. 私有成員
    如果沒有一個方法去限制對類中成員的訪問,則可能會造成錯誤的輸入,而爲了防止這種情況的發生,Java中提供了私有成員訪問控制修飾符private,在類的成員聲明之前加上private,則無法從類的外部訪問到該類的內部成員,而只能被該類的自身訪問和修改,而不可以被其他類訪問。從而達到了保護數據的目的。

  2. 公共成員
    public公共訪問控制符,使得該成員可以被其他的類訪問。

  3. 缺省訪問控制符
    若在類成員的前面不加任何訪問控制符,則該成員具有缺省的訪問控制特性,這種缺省訪問控制權表示這個成員只可以被同一個包中的類訪問,不可以被其他包的類所使用的。

二、方法的重載

方法的重載時實現“多態”的一種方法。什麼叫重載,就是一個類中具有相同名稱的多個方法,這多個的同名方法參數個數不同,或者參數類型不同,則這些同名的方法則具有不同的功能。
例如:

public class demo{
    public void printf(int num){
        System.out.println(num);
    }

    public void printf(float num){
        System.out.println(num);
    }

    public void printf(int num1, int num2){
        System.out.println(num1+num2);
    }
}

三、構造方法

  1. 構造方法簡介
    a.構造方法是一種比較特殊的方法,它是對象在創建時候就是執行的一種方法。它沒有返回值,但是不需要用void去進行修飾。因爲一個類的構造方法返回值類型就是類本身。 構造方法在定義之後,創建對象實例的時候,就回自動調用它,因此構造方法不需要在程序中直接調用。

    b.構造方法的特性:

    • 構造方法的方法名和類名相同。
    • 構造方法沒有返回值,且不能寫void
    • 構造方法的主要作用是完成類對象的初始化工作。
    • 構造方法一般使用new來調用。
    • 創建一個類的對象的時候,Java會自動調用類的構造方法去完成初始化工作。
  2. 默認構造方法
    一般來說,如果類中沒有定義構造方法,類會提供一個默認的構造方法。程序創建對象的時候會自動調用默認構造方法。
    注意:若果在一個類之中,我們已經定義了一個有參數的構造方法,但是卻調用五參數的構造方法去創建對象的時候,此時編譯就不會通過。

  3. 構造方法的重載
    我們可以對構造函數進行重載。

    public class demo{
    	int height;
    
    	demo(){//默認無參構造函數
    
    	}
    	demo(int height){//重載構造函數
        	this.height = height;
    	}
    }
    

四、靜態成員

static修飾的成員被稱爲靜態成員,也被稱爲類成員,不用static修飾的成員稱爲實例成員。

  1. 實例成員
    類定義中成員變量或者成員方法沒有被static修飾的,就是實例成員。

  2. 靜態成員
    使用static修飾的成員變量稱爲靜態變量,也就是類變量。所有對象都是享用同一塊內存單元。
    並且,靜態變量不需要實例化就可以使用。
    使用方法:

    類名.靜態變量名;
    對象名.靜態變量名;
    
  3. 靜態方法
    與靜態成員類似的是類的靜態方法。
    static方法中,不能使用this和super,因爲this是代表調用該方法的對象,但是現在靜態方法不需要使用對象來進行調用。而super也是與this類似,是屬於對象範疇的東西,但是靜態方法是屬於類範疇的東西。

  4. 靜態初始化器
    靜態初始化器由關鍵字static修飾的一隊花括號"{}"括起來的語句塊,它的作用於構造方法有些相似,都是用來初始化工作的。
    靜態初始化器和構造方法不同的:

    a.構造方法是對每個新創建的對象進行初始化,但是靜態初始化器是對類自身進行初始化。
    b.構造方法是在使用new運算符創建新對象的時候由系統自動執行,但是靜態初始化器一般不能夠由程序調用,它使用所屬的類被加載入內存調用執行的。
    c.用new運算符創建多少新對象,構造方法就會被調用多少次,但是靜態初始化器卻只是類在被加載入內存時只執行一次,與創建了多少的對象無關。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章