effective java第4章 类和接口

第13条 使类和成员的可访问性最小化
第一规则:尽可能地使每个类或成员不被外界访问
只有当同一个包内的另一个类真正需要访问一个成员的时候,你才应该删除private修饰符。
如果方法覆盖了超类中的一个方法,子类中的访问级别就不允许低于超类中的访问级别。这样可确保任何可使用超类实例的地方也可以使用子类的实例。
长度非零的数组总是可变的,所以,类具有公有的静态final数组域,或者返回这种域的访问方法,这几乎总是错误的。修正方法如下:

private static final Thing[] PRIVATE_VALUES = {...};
public static final List<Thing> values() = Collections.unmodifiableList(Arrays.asList(PRIVATE_VALUES ));


第14条 在公有类中使用访问方法而非公有域(过)
第15条 使可变性最小化
要使类成为不可变,要遵循下面几条圆原则:
1,不要提供任何会修改对象状态的方法
2,保证类不会被扩展
3,使所有的域都是final的
4,使所有的域都是私有的
5,确保对于任何可变组件的互斥访问
第16条 复合优先于继承
对于两个类,A和B,只有当两者之间确实存在“is_a”的关系时,类B才应该扩展类A

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值