java中物件的初始化與構造器

2021-06-20 15:52:33 字數 955 閱讀 9483

例子:乙個天體資料類:

class body

可以做天體物件的建立與初始化:

body sun = new body();

sun.idnum = body.nextid++;

sun.name = "sol";

sun.orbits = null;

body earth = new body();

earth.idnum = body.nextid++;

earth.name = "earth";

earth.orbits = sun;

使用構造器:

class body

}

初試化物件**如下:

body sun = new body();

sun.name = "sol";

body earth = new body();

earth.name = "earth";

earth.orbits = sun;

body構造器代用發生在name和orbits初始化之後

還可以使用如下的構造器,調整初始化順序:

body(string bodyname, body orbitdaround)
初始化**如下:

body sun = new body("sol", null);

body earth = new body("earth", sun);

還可以將構造器的第二個引數設定為null:

body(string bodyname)
複製構造器:

body(body other)

Java 物件構造與初始化

如果沒有this及super,則編譯器自動加上super 即呼叫直接父類不帶引數的構造方法。任何子類必須先或顯示或隱式地呼叫直接父類的構造方法。class constructcallthisandsuper class person person string name,int age class ...

JAVA學習(物件構造與初始化)

物件都有構造方法,如果沒有的話,編譯器會自動加乙個default構造方法 不帶任何引數 但如果有了構造方法,編譯器不會加上default構造方法。我們的任何乙個物件,都需要通過constructor構造。這裡還有乙個值得注意的點,抽象類也可以有構造方法,只是不能通過構造方法例項化乙個物件。這個構造方...

物件初始化器與集合初始化器

物件初始化器 使用物件初始化器,可以在建立時直接向物件賦值,無需顯示的呼叫物件的建構函式。利用這個技術可發人員可以建立匿名型別,顯著的減少編寫物件初始化語句的 new p 不採用物件初始化器寫的 user new user user.id 1 user.pwd 123 user.name 孫悟空 採...