1.考虑用静态工厂方法代替构造函数(Integer.valueOf(),Boolean.valueOf())
1.静态方法有方法名进行分辨
2.静态方法不一定非要新建一个对象,new 方法肯定会新建对象
3.可以返回子类对象(?)
1b.
2b.与其他静态方法没有区别
2.私有构造函数强化单例
3.私有构造函数防止被实例化或子类实例化
4.避免创建重复对象:如String s=new String("Hello world");//不推荐
5.消除过期的引用对象:手动ref=null以释放资源,适用于数组
6.避免使用终结函数finalize(),java自动垃圾回收比人为回收资源稳定
/对象
7.重写equals()时遵守标准
8.重写equals()时顺便把hashCode()也重重写了
9.建议重写toString()
10.谨慎重写clone():复杂度太高了,尽可能不重写而是提供其他拷贝方法
11.实现Compareable接口:值类都应该这样,方便排序什么的,compareTo()不用判断时参是否为null
///类和接口
12.使类和成员的可访问能力最最小话:private default protected public
13.支持不可变性
14.复合优先于继承:与其实现父类的方法,不如将父类型作为子类的一个属性进行转发操作
这样可以防止父类接口方法的变动影响子类,也叫“包装类”,不能用在回调框架上,
最好不要支持链式编程
15.要么专门为继承而设计,并给出详细的文档说明,要么禁止继承: