建構物件時,資料成員會初始化,如沒指令初始值,系統會給預設值:
資料型態 | 初始值 |
byte | 0 |
short | 0 |
int | 0 |
long | 0L |
float | 0.0F |
double | 0.0D |
char | \u0000 |
boolean | false |
類別 | null |
一個建構子的例子,例1:
public class Some { private int a = 10; // 指定初始值 private String text; // 預設值null public Some(int a, String text) { this.a = a; this.text = text; } ... }
如果class裡面沒有定義任何建構子:
public class Some { }編譯器會自動加入一個無參數、內容為空的建構式,將這個類別編譯後的位元碼反組譯,你會看到:
public class Some { public Some() { } }這叫預設建構子(Default constructor)。
如果你自己有定義建構子,一般會這樣寫:
public class Some { public Some(int a) { } }你就不能這樣建構物件:
Some S = new Some();裡面沒參數。
要這樣寫:
Some S = new Some(1);裡面要有參數。
沒有留言:
張貼留言