例子:乙個天體資料類:
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 孫悟空 採...