《java编程思想》学习笔记—访问权限控制

一、重构时考虑的一个问题:如何把变更的事物与保持不变的事物区分开来。java

为了解决这一问题,java提供了访问权限修饰词:public,protected,包访问权限(没有关键词)和private程序员

二、做为一名类库设计人员,应尽量将一切方法都定为private,而仅向客户端程序员公开你愿意让他们使用的方法。工具

三、如何将构建捆绑到一个内聚的类库单元?设计

java用关键字package加以控制,而访问权限修饰词会因类是存在于一个相同的包,仍是存在于一个单独的包而受到影响。继承

6.1包:库单元

一、当编写一个java源代码文件时,此文件一般被称为编译单元(有时也被称为转译单元),每一个编译单元都必须有一个后缀.java,而在编译单元内则能够有一个public类,该类的名称必须与文件的名称相同。每一个编译单元只能有一个public类。接口

6.1.1代码组织文档

一、当编译个一.java文件时,在.java文件中的每一个类都会有一个输出文件,而该输出文件的名称与.java文件中每一个类的名称相同,只是多了一个后缀名.class。权限控制

二、java运行程序是一组能够打包并压缩为一个java文档文件(jar)的.class文件。java解释器负责这些文件的查找,装载和解释。编译

三、若是使用package语句,它必须是文件中除注释之外的第一句程序代码。java包的命名规则所有使用小写字母,包括中间的字也是如此。class

6.1.2建立独一无二的包名

一、将全部的文件收入一个子目录能够解决如下问题:

(1)将特定包的全部.class文件都置于一个目录下。

(2)建立独一无二的名称以及查找有可能隐藏于目录结构中某处的类。

二、java解释器的运行过程以下:首先,找出环境变量CLASSPATH。CLASSPATH包含一个或多个目录,用做查找.class文件的根目录。从根目录开始,解释器获取包的名称并将每一个句点替换成反斜杠,以从CLASSPATH根中产生一个路径名称。解释器就会在这些目录中查找与你所要建立的类名称相关的.class文件。

6.1.3定制工具库

6.1.4用import改变行为

6.1.4对使用包的忠告

包的名称对应目录路径

6.2java访问权限修饰词

6.2.1包访问权限

一、默认访问权限没有任何关键字,但一般是指包访问权限。

6.2.3private:你没法访问

一、除非必须公开底层实现细节(此种境况不多见),不然就应该将全部的域指定位private。

6.2.3protected:继承访问权限

一、能够被继承本身的类访问

6.3接口和实现

一、访问权限的控制常被称为是具体实现的隐藏。把数据和方法包装进类中,以及具体实现的隐藏,常共同被称做是封装。

二、访问权限控制将权限的边界划在子数据类型的内部。缘由以下:

(1)要设定客户端程序员可使用和不可使用的界限。

(2)接口和具体实现进行分离。

6.4类的访问权限

一、类既不能够是private。因此对于类的访问权限,仅有两个选择:包访问权限或public。若是不但愿其余任何人对该类拥有访问权限,能够把全部的构造器都指定为private。

相关文章
相关标签/搜索