图7-1 大臣参拜皇帝类图
只有两个类,Emperor代表皇帝类,Minister代表大臣类,关联到皇帝类非常简单。Emperor如代码清单7-1所示。
代码清单7-1 皇帝类
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
|
public
class
Emperor {
private
static
final
Emperor emperor =
new
Emperor();
//初始化一个皇帝
private
Emperor(){
//世俗和道德约束你,目的就是不希望产生第二个皇帝
}
public
static
Emperor getInstance(){
return
emperor;
}
//皇帝发话了
public
static
void
say(){
System.out.println(
"我就是皇帝某某某...."
);
}
}
|
通过定义一个私有访问权限的构造函数,避免被其他类new出来一个对象,而Emperor自己则可以new一个对象出来,其他类对该类的访问都可以通过getInstance获得同一个对象。
皇帝有了,臣子要出场,其类如代码清单7-2所示。
代码清单7-2 臣子类
public
class
Minister {
public static void main(String[] args) {
for ( int day = 0 ;day < 3 ;day ++ ){
Emperor emperor = Emperor.getInstance();
emperor.say();
}
// 三天见的皇帝都是同一个人,荣幸吧!
}
}
public static void main(String[] args) {
for ( int day = 0 ;day < 3 ;day ++ ){
Emperor emperor = Emperor.getInstance();
emperor.say();
}
// 三天见的皇帝都是同一个人,荣幸吧!
}
}