博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《Effective Java》笔记 使类和成员的可访问性最小化
阅读量:6219 次
发布时间:2019-06-21

本文共 631 字,大约阅读时间需要 2 分钟。

类和接口

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

1.设计良好的模块会隐藏所有的实现细节,把它的API与实现清晰的隔离开来,

模块之间只通过它们的API进行通信,一个模块不需要知道其他模块的内部工作情况:即信息隐藏或封装,是软件设计的基本原则之一。

2.Java提供了许多机制来协助信息隐藏。访问控制(access control)机制决定了类、接口和成员的可访问性(accessibility)

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

或者说在保证功能的情况下,使用最小的访问级别。

4.对于成员(域、方法、嵌套类和嵌套接口)有四种可能的访问级别。

私有的(private)——只有在声明该成员的顶层类内部才可以访问这个成员。
包级私有的(package-private)——声明该成员的包内部的任何类都可以访问这个成员。是缺省(default)的访问级别。
受保护的(protected)——声明该成员的类的子类可以访问这个这个成员,并且声明该成员的包内部的任何类也可以访问这个成员。
公有的(public)——在任何地方都可以访问该成员。

5.如果方法覆盖了超类中的一个方法,子类中的访问级别就不允许低于超类中的访问级别。

这样可以确保任何可使用父类实例的地方都可以使用子类的实例。如果违反这条规则,编译器会产生错误消息。

接口的实现也遵循了这条规则:接口中所有的类方法在实现类中必须被声明为公有的。因为接口中的所有方法都隐含着公有访问级别。

 

转载地址:http://humja.baihongyu.com/

你可能感兴趣的文章
ThinkPad 预装win8换win7(软激活)
查看>>
个人或小型企业站该如何选择服务器?
查看>>
属性选择器
查看>>
hdu----(2586)How far away ?(DFS/LCA/RMQ)
查看>>
jQuery数组处理汇总
查看>>
SQL Server 中可以被锁住的 12 种资源
查看>>
20141117
查看>>
常见的设计模式:单例模式、工厂模式、观察者模式、装饰模式与适配器模式...
查看>>
scrapy爬虫成长日记之创建工程-抽取数据-保存为json格式的数据
查看>>
php长链接
查看>>
Ubuntu 下载 & 编译 Android5.1 源码
查看>>
JQuery Easy Ui dataGrid 数据表格
查看>>
利用kseq.h parse fasta/fastq 文件
查看>>
LabVIEW串口通信
查看>>
JavaScript变量和作用域
查看>>
深度学习笔记:优化方法总结(BGD,SGD,Momentum,AdaGrad,RMSProp,Adam)
查看>>
ConEmu配置task的脚本
查看>>
iOS——多线程编程详细解析
查看>>
MySQL mysqlbinlog解析出的SQL语句被注释是怎么回事
查看>>
JAVA中String.format的用法 转16进制,还可以补0
查看>>