我剛剛和一些同事討論了Java構造函數,設計模式和如果我通常等待一些參數,用非參數化構造函數初始化對象的好方法。從非參數化構造函數調用高級構造函數的好風格?
一位年紀稍長的來到了他的執行一直是這樣的方式:
public class Foo {
public Foo() {
this(0,0,0);
}
public Foo(int a, int b, int c) {
this.a = a;
this.b = b;
this.c = c;
}
..
}
我的問題是,是,好作風,什麼是它的行爲是什麼呢?
從我的理解應該是:
- 它首先實例化一個對象,然後調用參數化的構造函數構造該類型與參數設置的一個新對象,並設置自己的參照新的。因此,GC已經刪除了第一個創建的。鏈構造時,曾經創造
它不是實例化對象的構造函數,它是'new'關鍵字。構造函數只負責初始化對象。 – helpermethod 2011-12-19 08:51:56
所以它始終是分配內存的新關鍵字,構造函數只是對象的計費? (也用於C++?) – Stefan 2011-12-19 08:54:44