2016/4/30

建構式(Constructor)

建構式(Constructor):與class同名,是class中一開始執行的method,不用宣告回傳型態

建構物件時,資料成員會初始化,如沒指令初始值,系統會給預設值

資料型態初始值
byte0
short0
int0
long0L
float0.0F
double0.0D
char\u0000
booleanfalse
類別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);
裡面要有參數。

沒有留言:

張貼留言