罪过罪过,懒了这么多天。。因为之前是有C和Java基础的,所以笔记做的比较粗糙,有的部分自己回头看都还得想一会,以后尽量做仔细一点吧。
第六章 访问权限控制
1 包:库单元
Java代码文件,也可以成为编译单元(有时也成为转译单元)。
编译单元内有一个public类,该类名称必须与文件名称相同。
每个编译单元只能有一个public类。
Java包命名规则是必须全是小写字母。
package和import将单一的全局名字空间分开,使得不会出现名称冲突问题。
想要使用某类,需要指定全名或者使用import关键字,import可以使用该包中的public类。
使用静态导入 import static可以在系统中使用包中静态的方法。
2 Java访问权限修饰词
包访问权限:
不加修饰词,就是包访问权限。包内所有其他类对那个成员都有访问权限。对包外类都是private。
取得某成员访问权限的唯一途径是:
1、该成员是public
2、不加权限修饰词并将其他类放在同一个包内,包内其它成员可访问此成员。
3、继承而来的类既可以访问public又可以访问protected。
4、通过访问器和变异器方法(get/set方法),以读取和改变值。
public:接口访问权限:
任何人都可以访问它。不同包里的都可以。默认包: 对于隶属于相同目录却没有给自己设定任何包名称的文件,Java默认其为该目录的默认包里,这样它们之间的包访问权限可以使它们互相访问。
private:私有
除了包含该类成员的类(这个private成员在的类)之外,任何其他类都无法访问这个成员。 好处: 1、可以控制如何创建该对象,别人必须使用特定构造器创建 2、对于辅助方法,可以指定其为private,防止误用它protected:继承访问权限
protected成员除了只能被派生类使用外,还提供包访问权限。3 接口和实现
访问权限的控制常被称为具体实现的隐藏,这被便是“封装”。
4 类的访问权限
1、每个编译单元(文件)只能有一个public类
2、public类的名称必须与文件名相匹配,包括大小写。
类只能是public或者包访问权限的,除了内部类