笔记

第四章:类和接口

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

第一规则:尽可能的使每个类或者成员不被外界访问。

  • 私有的——只在声明该成员的顶层类内内部才可以访问这个成员

  • 包级私有——声明该成员的类的子类可以访问这个成员(但有一些限制)并且,声明该成员包内部的任何类也可以访问这个成员

  • 公有的——在任何地方都可以访问该成员

第14条:在公有类中使用访问方法而非公有域
第15条:使可变化性最小

1. 不要提供任何会修改对象状态的方法

2. 保证类不会被扩展
这样可以防止粗心或者恶意的子类假装对象的状态已经改变,从而破坏该类的不可变行为

3. 使所有的域都是final的
通过系统的强制方式,这样可以清楚的表明你的意图。但是,如果一个指向新创建的实例的的引用在缺乏同步机制的情况下,从一个线程传递到另一个线程,就必须确保正确的行为

4. 使所有的域都成为私有的
这样可以防止客户端获得访问被域指引的可变对象的权限,并防止客户端直接修改这些对象

5. 确保对任何可变组件的互斥访问
如果类具有指向可变对象的域,则必须确保该类的客户端无法获得指向这些对象的引用,并且,永远不要有客户端提供的对象引用来初始化这样的域,也不要从任何访问方法(accessor)中返回该对象引用

第16条:复合优于继承

继承,是实现代码复用的有力手段,但它并非是完成这项工作的最佳工具,使用不当会导致软件变得很脆弱

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值