Effective Java 读书笔记
文章平均质量分 54
flyvszhb
这个作者很懒,什么都没留下…
展开
-
第1条: 考虑用静态工厂方法替代构造器
ic static Boolean valueOf(boolean b) { return b ? Boolean.TRUE : Boolean.FALSE; }[/code] [b]编写实例受控类有几个原因。实例受控使得类可以确保他是一个Singleton或者是不可实例化的。他还使得不可变类可以确保不会存在两个相等的实例。 API可以返回对象,同时又不会使对象的类变成公有的。以这种方式隐藏实现类会使API变得非常简介。这种结束适用于基于接口的框架(java.util.Collec原创 2013-03-26 15:42:51 · 43 阅读 · 0 评论 -
java,effective java
原创 2013-11-16 10:21:31 · 112 阅读 · 0 评论 -
第2条:遇到多个构造器参数时要考虑用构建器
t b, int c){}[/code] 根据不同的参数调用不同的构造器,但是当参数多了的时候,这种方式不够灵活,所以会实现动态传参的方法 [code="java"]public A(){} public void seta(int a){} public void setb(int b){} public void setc(int c){}[/code] 这种方式提高了传参的可读性,也提高了传参的灵活性,但是会增加代码行数,同时在多线程异步执行的时候导致奇怪的原创 2015-04-30 15:54:12 · 50 阅读 · 0 评论 -
第3条:用私有构造器或者枚举类型强化Singleton属性
原创 2015-04-30 16:40:13 · 59 阅读 · 0 评论 -
第4条:通过私有构造器强化不可实例化的能力
免从对象的角度进行思考,但是它们也确实有它们特有的用处。我们可以利用这种类,以java.lang.Math或者java.util.Arrays的方式,把基本类型的值或者数组类型上的相关方法组织起来。我们也可以通过java.util.Collections的方式,把实现特定接口的对象上的静态方法(包括工厂方法,见第1条)组织起来。最后,还可以利用这种类把final类上的方法组织起来,以取代扩展该类的做法。 这样的工具类(utility class)不是要被实例化的:实例没有任何意义。然而,在缺少显式构造原创 2015-04-30 16:44:55 · 66 阅读 · 0 评论