Effective Java 读书笔记
a846029405
这个作者很懒,什么都没留下…
展开
-
第1条: 考虑用静态工厂方法替代构造器
[b]1 考虑用静态工厂方法替代构造器类可以提供一个公有的静态工厂方法,他只是一个返回类的实例的静态方法。[/b][b]实例受控类[/b][code="java"]public static Boolean valueOf(boolean b){ return b ? Boolean.TRUE : Boolean.FALSE;}[/code][b]编写实例...原创 2013-03-26 15:42:51 · 82 阅读 · 0 评论 -
java,effective java
静态工厂方法的第四大优势在于,他们可以返回原返回类型的任何子类型的对象。发行版本1.5中引入的类java.util.EnumSet没有共有构造器,只有静态工厂方法。它们返回两种实现类之一,具体取决于底层枚举类型的大小:如果它的元素小于等于64,就像大多数枚举类型一样,静态工厂方法就会返回一个RegularEnumSet实例,用单个long进行支持;如果枚举类型元素个数大于64个,工厂就返回...原创 2013-11-16 10:21:31 · 121 阅读 · 0 评论 -
第2条:遇到多个构造器参数时要考虑用构建器
当创建对象需要传入多个参数的时候我们通常会根据参数的数量写不同的构造器,具体如下[code="java"]public A(int a){}public A(int a, int b){}public A(int a, int b, int c){}[/code]根据不同的参数调用不同的构造器,但是当参数多了的时候,这种方式不够灵活,所以会实现动态传参的方法[cod...原创 2015-04-30 15:54:12 · 82 阅读 · 0 评论 -
第3条:用私有构造器或者枚举类型强化Singleton属性
1 线程不安全的实现方法首先介绍java中最基本的单例模式实现方式,我们可以在一些初级的java书中看到。这种实现方法不是线程安全的,所以在项目实践中如果涉及到线程安全就不会使用这种方式。但是如果不需要保证线程安全,则这种方式还是不错的,因为所需要的开销比较小。下面是具体的实现代码:[code="java"]public Class Singleton{ private st...原创 2015-04-30 16:40:13 · 101 阅读 · 0 评论 -
第4条:通过私有构造器强化不可实例化的能力
第4条:通过私有构造器强化不可实例化的能力有时候,可能需要编写只包含静态方法和静态域的类。这些类的名声很不好,因为有些人滥用它们来避免从对象的角度进行思考,但是它们也确实有它们特有的用处。我们可以利用这种类,以java.lang.Math或者java.util.Arrays的方式,把基本类型的值或者数组类型上的相关方法组织起来。我们也可以通过java.util.Collections的方式...原创 2015-04-30 16:44:55 · 89 阅读 · 0 评论