1. 类的访问权限仅有两个选择:包访问权限或者public。如果不希望其他任何人对该类拥有访问权限,可以把所有的构造器都指定为private,从而组织任何人创建该类的对象,但是有一个例外,就是在该类的static成员内可以创建。如
class Soup {
private Soup() {}
// (1) Allow creation via static method:
public static Soup makeSoup() {
return new Soup();
}
// (2) Create a static object and return a reference
// upon request.(The "Singleton" pattern):
private static Soup ps1 = new Soup();
public static Soup access() {
return ps1;
}
public void f() {}
}

如果把类构造器都指定为private,别人要使用这个类的话,上面的例子给出了两种方法:
1)创建一个static方法,它创建一个新的Soup对象并返回该对象的引用。如果想要在返回引用之前在Soup上做一些额外的工作,或者如果想要记录到底创建了多少Soup对象(可能要限制其数量),这种做法将会是大有裨益的。
2)用到了设计模式。这种特定的模式被称为singleton,这是因为始终只能创建它的一个对象ps1。


posts - 403, comments - 310, trackbacks - 0, articles - 7
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

2.16 Java notes - Hiding the Implementation

Posted on 2007-04-22 20:24 ZelluX 阅读(208) 评论(0)  编辑  收藏 所属分类: OOP
2007-02-16 17:59:42
只有注册用户登录后才能发表评论。


网站导航: