2021-05-16 《Java 核心技术36讲》学习记录三

2021-05-18  本文已影响0人  _笑口常开

简述

此文是对 第3讲 | 谈谈final、finally、 finalize有什么不同? 的学习

一些知识点/笔记点:

try {
  // do something
  System.exit(1);
} finally{
  System.out.println(“Print from finally”);
}

将 class 自身声明为 final,这样别人就不能扩展来绕过限制了。
将所有成员变量定义为 private 和 final,并且不要实现 setter 方法。
通常构造对象时,成员变量使用深度拷贝来初始化,而不是直接赋值,这是一种防御措施,因为你无法确定输入对象不被其他人修改。
如果确实需要实现 getter 方法,或者其他可能会返回内部状态的方法,使用 copy-on-write 原则,创建私有的 copy。
关于 setter/getter 方法,很多人喜欢直接用 IDE 一次全部生成,建议最好是你确定有需要时再实现。

联想

上一篇下一篇

猜你喜欢

热点阅读