对象引用的初始化方法

对象引用的初始化方法

遇到的问题

在定义一个复杂的模块类,这个模块由一些其他模块组成,比如说,一辆车的信息,包含着电池、车轮、车锁、车主等等的信息,我又想把它们联系到一起,所以这个类就含有着对其他对象的引用。

那么如果说,我从数据库当中去查找这个类,我最终得到的结果,它的对象引用是什么样子的呢?

首先我去找了对象引用初始化的方式,如下:

方式:

  1. 在定义对象的位置;
  2. 在类的构造器中;
  3. 在使用对象之前, 即惰性初始化;
  4. 实例初始化.

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
/**
* 四种初始化方式
* <p/>
* Created by wang on 15/8/5.
*/
class Soap {
public Soap() {
System.out.println("Soap");
}

@Override
public String toString() {
return "Constructed";
}
}

public class TestInit {
private String s1 = "Happy"; // 定义初始化
private Soap s2;
private String s3, s4;

// 实例初始化
{
s2 = new Soap();
}

public TestInit() {
s3 = "Good"; // 构造器初始化
}

@Override
public String toString() {
s4 = "Girl"; // 惰性初始化
return "TestInit{" + "s1='" + s1 + ", s2=" + s2 +
", s3='" + s3 + ", s4='" + s4 + '}';
}

public static void main(String[] args) {
TestInit ti = new TestInit();
System.out.println(ti);
}
}
/*
Output:
Soap
TestInit{s1='Happy, s2=Constructed, s3='Good, s4='Girl}
*/

参考

  1. Java - 对象引用的初始化方式