先觀察如下格式:
類名稱 物件名稱 = 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.預設無參構造器 如果定義類時,沒有新增構造方法,系統會預設提供乙個共有的沒有形式引數...