例如:調用它的構造函數而不是構造函數時設置實例的變量是否有什麼好處?
public class Foo {
private int bar = 42;
Foo() {}
}
VS
public class Foo {
private int bar;
Foo() {
bar = 42;
}
}
有兩種方法之間的成本/效益?我可以看到它發揮作用的唯一辦法就是在這樣的情況下(如你的第二個構造設置兩次值):
public class Foo {
private int bar = 42;
Foo() {}
Foo(int in) {
bar = in;
}
}
VS(其中無論哪種方式,你只設置一次)
public class Foo {
private int bar;
Foo() {
this(42);
}
Foo(int in) {
bar = in;
}
}
我錯過了什麼嗎?這種做法有沒有內在的價值?
編輯
好吧,我知道這些都是functionaly等價的,如果有一個比其他相關的任何顯著的處理成本是什麼,我試圖找出是。似乎它應該是可以忽略的,至多,但我想確認我的懷疑。
編輯2
我也意識到,手動設置它們消除了啓動邏輯的可能性。這就是我選擇這樣簡單的例子的原因。我編輯了問題文本,以反映我感興趣的是效率。
很不好說! – neesh 2009-06-13 23:27:04
我意識到他們在功能上是相同的......我猜想我想弄清楚的是對於另一個人是否有任何好處。我正在爲手機編程,並試圖在合理範圍內儘可能「高效」。 – 2009-06-13 23:34:33