1.java隐藏实现的目的
a.java隐藏实现的目的是完成
接口与实现的分离,把做什么和怎么做进行分离;
b.告诉客户
程序员,
他们可以使用那些东西,不能使用那些东西。相当于在系统里构建自己的内部机制。
2.java的两个域(范围)
java有两个范围:
a.class:java中最小的域,不做过多的解释了;
b.编译单元:Java的源代码文件通常称为编译单元,每个编译单元都必须是一个.java结尾的文件;但是并不要求每一个编译单元
一定要有一个public类,没有也可以,如果没有public类则此编译单元(即.java的名字可以随便起),否则一定要和.java的名字一直;
一个编译单元可以有多个class,但是只能有一个public class;
c.package:包相当于一个管理名字的空间(name space)机制;包相当于一组类文件,每个类文件代表一个组件,将很多组件进行组织,就相当于一个包;
3.
访问权限控制符:
public:在各个package之间可以自由访问;
protected:打破了包的
限制,当满足继承关系时可以自由访问,同时在一个包内也可以自由访问;
package(默认):在package之间可以自由访问;
private:在同一个编译单元的同一个类内可以自由访问;
4.类的访问权限
类的访问权限只有public和protected
a.每个编译单元都只能有一个public类;
b.public类的名字必须和这个编译单元的
文件名完全相同,包括大小写。
c.编译单元里面可以没有public类,这是文件名字可以随便起