隐藏具体实现

——如何将变动的事物与保持不变的事物相互隔离。

1. 包的使用:通过使用Package,访问权限受到影响。包明的唯一性,使得java程序解析,通过classPath以及包名解析到对应的类文件。类名相同,产生冲突,通过包名限定,来处理冲突问题。

2. java访问权限修饰符:(access specifier),public,protected,private

包访问权限:没有指定访问权限,则默认为包访问权限。包中的类可以相互访问。

Public接口访问权限:

Private:你不可以去碰

Protected:继承访问权限:创建新包,能访问父类的public跟protected成员;同一包内,能访问包访问权限的成员(包括,protected)

3. 接口(interface)和实现(implementation):访问权限的控制——具体实现的隐藏(implementation hiding),数据和方法包装进类中,与具体实现的隐藏相结合,成为“封装”。

接口和具体实现相分离:客户端程序员只可以向接口发送消息,这样你就可以随意更改所有不是public的东西。

Class:创建新数据类型,而不仅仅是只创建含有数据和方法的盒子。

方便程序的阅读:将public至于程序的开头,之后是protected,再是包访问权限和private成员。

4. 类的访问权限:

声明类的限制:1.一个编译单元都只能有一个public类(每个编译单元都有一个单一的公共接口,用public类来表现)。

2.public类的名称必须完全与含有该编译单元的文件名称相同。

3.编译单元可以不带public类。

类既不可以是private的,也不可以是protected的,只有两个选择,包访问权或是public。(一个内部类可以是private或是protected的)

将类的构造器指定为private来组织直接创建某个类的实例

1) 创建一个static方法,创建一个新类,并返回它的引用。

2)使用设计模式design pattern。只能创建它的单一的一个对象。类对象作为一个静态私有成员来生成。

——java的访问权限修饰符:确保所有用户都具有能够独立与某个类的底层实现细节的能力;类的创建者,可以按自己的意愿改变底层实施细节。

 

 

 

——————————如果不豁出性命的话,也是无法开创未来的。