java提供了访问权限修饰词,供类库开发人员向客户端程序员指明哪些是可用的,哪些是不可用的.访问权限控制的级别,从最大权限到最小权限依次是public–>包访问控制权限(没有关键字)—>private
包:库单元
- 包内含有一组类,它们在单一的名字空间之下被组织在了一起
- package和import关键字允许你做的,是将单一的全局名字空间分割开,使得无论多少人使用,都不会出现名称冲突问题.
- java解释器:java解释器的运行过程如下:首先,找出环境变量CLASSPATH,CLASSPATH包含一个或者多个目录,用作查找.class文件的根目录.从根目录开始,解释器获取包的名称并将每个据点替换成反斜杠,以从CLASSPATH根中产生一个路径名称(于是,package.foo.bar.baz就变成为foo/bar/baz或foo\bar\baz或其它,这一切取决于操作系统).得到的路径会与classpath的各个不同的项相连接,解释器就在这些目录中查找与你所要创建的类名称相关的.class文件.(解释器还会查找某些涉及java解释器所在位置的标准目录).路径的第一部分就是环境变量CLASSPATH配置的路径.
- 无论何时创建包,都已经在给定包的名称的时候隐含地指定了目录结构.这个包必须位于其名称所指定的目录之中,而该目录必须是在以CLASSPATH开始的目录中可以查询到的.
java访问权限修饰词
- public、protected、private这几个java访问权限修饰符在使用时,是置于类型每个成员的定义之前的–无论它是一个域还是一个方法.每个访问权限修饰词仅控制它所修饰的特定定义的访问权.如果不提供任何访问权限修饰词,则意味着它是”包访问权限”.
- 访问修饰符操作权限如下
- 访问修饰符可以修饰什么?
- 接口与实现:访问权限的控制通常被称为是具体实现的隐藏.把数据和方法包装进类中,以及具体实现的隐藏,常共同被称作是封装
- 如果没能为类访问权限指定一个访问修饰符,它就会默认得到包访问权限.这就意味着该类的对象可以由包内任何其它类来创建,但是包外则是不行的.然而如果该类的某个static的成员是public的话,则仍可调用该成员
- 单例写法
class Burrito {
private Burrito() {
}
private static Burrito ps1= new Burrito();
public static Burrito access(){
return ps1;
}
}