java读书心得
当我们积累了新的体会时,可以将其记录在心得体会中,如此就可以提升我们写作能力了。应该怎么写才合适呢?以下是小编为大家收集的java读书心得,仅供参考,希望能够帮助到大家。
首选很感谢Joshua Bloch写的这本书,当然更感谢我们的司令翻译。至少目前我看到的100页的内容,基本没发现翻译很别扭的地方,包括错别字也没有发现,至少没有影响到我对书中内容的理解。再次感谢。
在后面的读书心得里,我会根据我的个人理解,将书中的各个知识点逐个和大家分享。 书中的一些观点我也不是完全赞同的,呵呵(估计是我的水平不够,呵呵呵)。
我们先看全书第一个问题:考虑用静态工厂方法代替构造器。
也就是,不再使用 new 这种方式来获得一个类的实例,而是通过工厂方法获得。
优点:
1 有名字
这个我体会还是比较深的,在JDK里,我见过一个类的最多的构造器数量,有16个。大家可以看看 Java.math.BigDecimal 这个类就知道了。
就算一个类的构造器有4个左右,我想你很可能在使用的时候会极其注意,不要选错了到底是用哪一个。
所以,如果能提供一个很好命名的方法来实现构造类,确实是一个不错的主意,比如
BigDecimal.getInstanceFromString(...); 我想这个名字虽然有点垃圾,但要表达的意思确实异常的明确。
在一些第三方的库里面,这种情况更加突出。我许多时候不得不看看API文档,来区分我的那个int参数到底是使用三个参数的构造器,还是使用四个参数的构造器。因为他们太像了。
2 可以单例
这个就不用说了,你可以在方法里干你要做的任何事情,而new绝对会给你一个新的实例。
3 可以返回任何子类型。
这个对于系统的扩展是很有用处的。new 已经决定了你肯定要这个类,而静态方法却可以修改,不一定肯定返回你方法所在的类,可以在必要时替换为一个子类。
4 代码简便
这点我体会不深,呵呵
不过这个写法我确实经常用
List list = new ArrayList;
后面的那个ArrayList里面的 String就是一个例子吧。不过我倒是不是很在意这个,因为我很喜欢这样写了。
下面这个例子看上去确实不错。呵呵!
[java] view plain copypublic class Test extends Thread {
public static void main(String args) {
Test te = Test.newInstance;
}
public static Test newInstance {
return new Test;
}
}