java物件導向 三 構造方法

2021-06-26 07:49:02 字數 1310 閱讀 3118

先觀察如下格式:

類名稱 物件名稱 = new 類名稱() ;
上述格式為宣告並例項化乙個類的物件,其解釋如下:

類名稱:要定義物件的資料型別

物件名稱:日後進行類屬性或方法操作的標記變數

new:開闢堆記憶體空間

類名稱():例項化物件,屬於方法,即在類中提供乙個和類名稱相同的方法,此處實際上就表示了類中的構造方法,但是此構造方法和普通發發的區別在於:構造方法是在例項化物件時使用,而普通方法是在例項化物件產生後使用.

定義構造方法的要求:

1.構造方法的名稱和類名稱保持一致

2.構造方法不允許有返回值型別宣告

3.物件例項化操作一定需要構造方法的存在,所以如果類中沒有明確定義構造方法,則會自動生成乙個無參無返回值的構造方法,如果類中以明確定義了構造方法,則此無實際意義的構造方法不會自動生成,即:乙個類中至少存在乙個構造方法.

在類中可以明確定義乙個構造方法,通過構造方法為類中的屬性初始化.由於構造方法本質仍為方法,所以也可以進行過載(方法名稱相同,引數的型別和個數不同).

範例:

class person

public person(string n)

public person(string n ,int a)

public void tell()

public void setname(string n)

public void setage(int a)

} public string getname()

public int getage()

}public class demo

}

執行結果如下:

在編寫**的時候,要注意編寫的規範:

類中的屬性,構造方法和普通方法的定義順序為:首先定義屬性,之後定義構造方法,最後定義普通方法

對於類中構造方法的過載,所有的過載方法要按照引數的個數由多到少(或由少到多)依次排列.

構造方法嚴格來講屬於整個物件構造過程的最後一步,物件的構造過程如下:

為物件分配記憶體空間→為其設定預設值→構造方法進行其他操作

即類中定義的屬性的預設值,只有在構造執行完畢後,才可以真正賦值(←→見抽象類的注意點).

物件導向JAVA之構造方法

構造方法又稱為構造器。構造方法一定和類名相同且沒有返回型別。我們在new乙個物件。比如說 student p new student 其中的studen 就是乙個無引數的構造方法。構造方法可以定義引數,但在定義引數後無引數的構造方法會被自動遮蔽。因此在定義有引數的構造方法後,比如student in...

java 物件導向(三)構造方法 this關鍵字

方法 注 沒有返回值這一項。方法名必須與當前的類名一致。分類 構造方法的呼叫 注 1.一旦建立了自己的構造方法,就不會呼叫系統預設的無參構造方法 2.多個構造方法直接是過載的關係 場景 想在當前類內部拿到當前物件的引用的時候使用this作用 1.區分成員變數和區域性變數2.可以在構造方法中呼叫其他過...

java物件導向程式設計(三)構造器

構造方法 構造器 是特殊的方法,作用是用來給成員變數 field,字段,屬性 初始化。1.構造方法 構造器 的特殊在於沒有返回值這個位置,方法名與型別相同 如 點 public class point 普通方法 2.預設無參構造器 如果定義類時,沒有新增構造方法,系統會預設提供乙個共有的沒有形式引數...