effective java学习笔记--1

总共657条建议,每次把自己理解的建议记录下来
第一条:考虑用静态工厂来代替公开的构造方法


第二条:通过私有的构造函数来强化单例属性

两种单例模式:
模式一:
/**
* 通过构建一个公开静态的对象实例,来保持单例。
* 缺点:想改变单例为多例时,改动较大,若是想一直保持该类为单例的话,没问题,性能上也较高
*/
public static final Singleton2 instance = new Singleton2();

private Singleton2(){}

模式二:
/**
* 通过构建一个公开静态的方法来获得实例。
* 优点:想改变单例为多例时,修改方便
*/
private static final Singleton1 instance = new Singleton1();

private Singleton1(){}

public static Singleton1 getInstance()
{
return instance;
}

第三条:通过私有的构造函数来强化不可实例化

比如说我们需要编写一些全是静态方法或静态属性的类,该类不被实例化。
最好的例子就是工具类。java.util.Collections包。只提供公开,静态的方法来访问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值