读 effective java 第12条 :使类和成员的可访问能力最小

区别一个模块设计的好坏,最重要的是此模块相对于外部模块而言,是否隐藏了内部数据和实现细节

理由: 降低一个系统内各个模块之间的耦合,使各个模块能够独立的开发,测试,优化,这样可以加快此系统的开发速度,因为各个模块可以并发的开发!提高了软件的重用性

经验表明:你应该使每个类或成员不被外界访问.

当一个方法修改了父类的方法时,此方法的访问权限不能比父类低,否则编译会报错!这样可以保证子类的实例在可以被父类的实例使用的时候访问!.有一个隐含的,当一个类实现了一个接口时,被实现的方法必须是public,因为接口的方法默认为public!

publc类不应该具有public的域,但有违例的,public static final的时候,而且是指向原语类型的值.当指向一个对象的引用时,仅仅是引用不可以改变,而对象却可以改变的,因此public static final的数组设计就是错误的!!,因为此数组可以改变的,必须将其置为不可改变的

方法1

.private static final Type[ ] PRIVATE_VALUES = { . . . }

public static final List  Values =Collections.unmodifiableList(Arrays.asList(PRIVATE_VALUES))

方法2

private static final Type[ ] PRIVATE_VALUES = { . . . }

public static final Type[ ]  values(){

return (Type[ ])PRIVATE_VALUES .colne();}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值