Java编程思想(第四版)—— 读书笔记(五)

第六章    访问控制权限

一、包:库单元

    1、import关键字导入完整的库,就会获得“包”(package)。

    2、由于存在名字潜在的冲突,所以有必要对java中的命名空间进行完整的控制。

    3、为Java创建一个源码文件的时候,他通常叫做一个“编辑单元”(“翻译单元”)。每个编译单元都必须有一个以.java结尾的名字。而且在编译单元的内部,可以有一个公共(public)类,它必须拥有与文件相同的名字。

          编译一个.java文件时,会获得一个名字及完全相同的输出文件;但对于.java文件中的每个类,他们都有一种.class扩展名。他们可以封装和压缩到一个JAR文件里。Java解释器负责对这些文件的寻找、装载、解释。

    3、创建独一无二的包名。

    4、自定义工具库。

二、Java访问指示符

    1、有好的(friendly)。为了获得访问权限,唯一的方法就是:

        (1)使成员成为public(公共的)。这样,所有人从任何地方都可以访问他。

        (2)变成一个“友好”成员,方法是舍弃所有访问指示符,并将其类置于相同的包内。这样,其他类就可以访问成员。

        (3)一个继承的类既可以访问一个protected成员,也可以访问一个public成员(但不可以访问private成员)。只有在两个类位于相同的包内时,它才可以访问友好成员。

        (4)提供“访问器/变化器”方法(“获取/设置”方法),以便读取和修改值。这是OOP环境中最正规的一种方法。

    2、public:接口访问。

    3、private:不能接触:多线程处理的时候非常重要。

    4、protected:“友好的一种”

三、接口与实现

    1、规定客户程序员哪些能够使用,哪些不能。

    2、需要将接口同实施细节分离开。

四、类访问

    1、每个编译单元(文件)都只能有一个public类。

    2、public类的名字必须与包含了编译单元的那个文件的名字完全相符,甚至包括他的大小写形式。

    3、可能(但并常见)有一个编译单元根本没有任何公共类。此时,可按照自己的意愿任意指定文件名。

    4、对于类的访问只有两个选择:“友好的”或public。若不愿其他任何人访问那个类,可将所有构造器设为private。这样,在类的一个static成员内部,除自己以外的其他所有人都无法创建属于那个类的一个对象。

你可能感兴趣的:(Java编程思想(第四版)—— 读书笔记(五))