java读书心得

时间:2024-11-26 读书心得 我要投稿

java读书心得

  当我们积累了新的体会时,可以将其记录在心得体会中,如此就可以提升我们写作能力了。应该怎么写才合适呢?以下是小编为大家收集的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;

  }

  }