Effective Java(第3版)第4章总结

2020-08-03  本文已影响0人  纳米君

第15条:使类和成员的可访问性最小化

正确使用public、protected、private三个修饰符

第16条:要在公有类而非公有域中使用访问方法

对象属性应该私有化,然后提供getter、setter方法。而不是公有化属性,使用对象.属性(obj.field)访问

第17条:使可变性最小化

JDK中包含许多不可变的类(使用 final 修饰符),包含String、基本类型的包装类。不可变对象本质上是线程安全的,不要求同步

第18条:复合优先于继承

继承需要清楚的知道父类的具体代码逻辑,不然覆盖方法可能会出现奇怪的BUG。而复合,是把父类作为成员变量,调用其方法即可

第19条:要么设计继承并提供文档说明,要么禁止继承

参考第18条

第20条:接口优先抽象类

一般都是面向接口编程,抽象类适合抽取子类的代码作为公共代码,子类只需要实现抽象方法即可

第21条:为后代设计接口

在接口里添加默认方法,存在风险,应当谨慎

第22条:接口只用于定义类型

现在一般都有专门的常量类,跟这条相违背。但是专门的常量类利于维护

第23条:类层次优于标签类

没在其他地方见过标签类的写法,面向接口编程就可以避免这种情况

第24条:静态成员类优先于非静态成员类

第25条:限制源文件为单个顶级类

除了内部类的情况,不要在一个文件中写两个及以上的类

上一篇下一篇

猜你喜欢

热点阅读