Thinking in Java 学习手记 第6章 访问权限控制
访问控制(或隐藏具体实现即封装)与“最初的实现并不恰当”有关。1、包:库单元
(1)包内包含有一组类,它们在单一的名字空间之下被组织到了一起。
(2)类库实际上是一组类文件,其中每个文件都有一个public类以及任意数量的非public类。每一个文件都有一个构件。如果希望这些构件从属于同一个群组,就可以使用关键字package。
(3)package语句,必须是文件中除注释以外的第一句程序代码。
(4)文件名必须和文件中的public类同名。
2、Java访问权限修饰词
(1)包访问权限:没有关键词,声明的成员在同一个包中都可用。
(2)接口访问权限:关键字public,声明的成员变量对任何是人都是可用的。
(3)私有访问权限:关键字private,声明的成员变量在类体之外都不可访问(封装)。
(4)继承访问权限:关键字protected,声明的成员变量在同一个包内均可访问,并且在所有的子类中均可访问。
(5)成员的访问权限控制,有助于建立数据类型的内部机制。
(6)在程序中,一般将成员按照访问权限的顺序进行声明:public成员、protected成员、包访问权限,最后是private成员。这样会增强程序的可读性,特别是javadoc生成的程序文档的可读性。
3、类访问权限
(1)为了控制某个类的访问权限,修饰词必须出现在关键字class之前。
(2)每个编译单元只能有一个public类。
(3)public类的名称必须完全与文件名完全匹配。
(4)编译单元中可以没有public类。