見類定義的方法有兩種:何時加載類變量?
//definition: 1
public class MyClass{
private MyObject obj = new MyObject();
private String str = "hello world";
// constructor
public MyClass(){
}
}
// definition: 2
public class MyClass{
private MyObject obj = null;
private String str = null;
// constructor
public MyClass(){
obj = new MyClass();
str = "HelloWorld";
}
}
我的問題是:加載的類變量時。他們如何加載?
它們的初始化是如何發生的?如果它們的初始化可能發生在定義1中,那麼構造函數的目的是什麼?
哪個是定義類的首選方式,爲什麼? C++/C#/ Java中的行爲是否相同,或者它們的行爲有所不同?
歡迎對上述任何澄清意見。
這ISN實際上不是語言不可知的,因爲它可能取決於語言,甚至取決於語言的特定實現。 – Avi 2009-04-22 14:00:29