1、惰性初始化是什么
在java编程中,类变量为基础数据类型时能够自动被初始化值,但对象的引用不行,因为那会导致很多不必要的资源消耗。
想要初始化这些对象引用,可以在代码的这些位置进行:
- 在定义对象的地方,这会使得它们在构造器被调用前实例化
- 在类的构造器中
- 在正要使用这些对象之前
- 使用实例初始化
2、使用实例(在构造器中初始化)
public class Test1 {
private Test2 test2;
private float toy;
public Test1() {
System.out.println("Init Test1");
toy = 3.14f;
test2 = new Test2();
}
@Override
public String toString() {
return "toy = " + toy + "\ntest2 =" + test2;
}
public static void main(String[] args) {
Test1 test1 = new Test1();
System.out.println(test1);
}
}
class Test2 {
private String s;
Test2 () {
System.out.println("Test2()");
s = "Constructed";
}
@Override
public String toString() {
return s;
}
}
结果:
Init Test1
Test2()
toy = 3.14
test2 =Constructed