-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy path_6_8_ConnectionManager.java
More file actions
59 lines (45 loc) · 1.08 KB
/
Copy path_6_8_ConnectionManager.java
File metadata and controls
59 lines (45 loc) · 1.08 KB
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
48
49
50
51
52
53
54
55
56
57
58
59
package unit6;
import personaUtils.Print;
class Manager1 {
private Manager1() {
}
public static Manager1 access() {
return new Manager1();
}
}
class Manager2 {
private Manager2() {
}
private static Manager2 mg = new Manager2();
public static Manager2 access() {
return mg;
}
}
public class _6_8_ConnectionManager {
void tStatic() {
Manager1 manager1 = Manager1.access();
Print.printb(manager1);
}
void tSingleton() {
Manager2 manager2 = Manager2.access();
Print.printb(manager2);
}
public static void main(String[] args) {
Print.print(Manager2.access());
_6_8_ConnectionManager mg = new _6_8_ConnectionManager();
_6_8_ConnectionManager mg2 = new _6_8_ConnectionManager();
mg.tStatic(); // (1)
mg.tSingleton(); // (2)
mg2.tStatic(); // (3)
mg2.tSingleton(); // (4)
Print.print(Manager2.access());
}
}
/**
* (2)(4)使用了singleton单例模式,创建的对象只有一个,所以对象地址是相同的
unit6.Manager2@139a55unit6.Manager1@1db9742
unit6.Manager2@139a55
unit6.Manager1@106d69c
unit6.Manager2@139a55
unit6.Manager2@139a55
*/