第2章
第一条:考虑用静态工厂方法代替构造函数
好处一:静态工厂方法具有名字,可以很好的描叙返回对象,设置属性。
好处二:每次被调用,不要求非得创建一个新的对象。
好处三:与构造函数不同,可以返回一个原类型的子类型的对象。
第二条:使用私有构造函数来强化
singleton
属性
方法一:永远为一个singleton,性能稍微领先
public static final SingletonMethod s= new SingletonMethod();
private SingletonMethod()
{
}
方法二:稍微灵活
private static final SingletonMethod s= new SingletonMethod();
private SingletonMethod()
{
}
public static SingletonMethod getInstance()
{
return s;
}
为了使一个singleton类变成可序列化的,在声明中加上”implements Serilizable”外,也要提供一个readResolve方法
Private Object readResolve() throws ObjectStreamException
{
return s;
}
第三条:通过私有构造函数强化不可实例化的能力
第四条:避免创建重复的对象
第五条:消除过期的对象引用
第六条:避免使用终结函数
第3章
7-11
第
4
章
第十二条:使类和成员的可访问能力最小化
第十三条:支持非可变性
第十四条:复合优先于继承
第十五条:要么专门为继承而设计,并给出文档说明,要么禁止继承
第十六条:接口优先于抽象类
可以考虑将接口和抽象类的优点结合起来,对于你期望导出的每一个重要接口,都提供一个抽象的骨架实现。
第十七条:接口只是被用于定义类型
常量接口模式是对接口的不良使用
第十八条:优先考虑静态成员类
第
5
章