JAVA基础05_访问控制权限

包(package)


package的作用

当编写一个JAVA源码文件时,此文件通常被称为 编译单元。每个编译单元都必须有一个后缀名 .java
而在编译单元中可以有一个 public 类, 该类的名称必须和文件的名称相同文件中允许有其他类,但是不能是public类。
当编译一个 .java 文件时,文件中的每个类都会有一个后缀为 .class 的输出文件,文件名和类名相同。
Java可运行程序是一组可以打包压缩为一个Java文档文件(JAR,使用Java的jar文档生成器)的.class文件。JAVA解释器负责这些文件的查找、装载和解释。
类库实际上是一组类文件。其中每个文件都有 一个 public 类,以及 任意数量的非 public 类
因此每个文件都有一个构件(每一个都有它们自己独立的.java和.class文件)。如果希望这些构件从属于同一个群组,就可以使用关键字 package
如果使用package语句,必须是文件中除注释外的第一句代码。如下:
package access;
如果想要使用access包,则需要使用关键字import。如下:
import access.*;

 

要点

为了避免package名称的独一无二,一般的命名方法是:

(1)第一部分应该是类的创建者的反顺序的Internet域名。

(2)第二部分是把package名称分解为机器上的一个文件目录。

这样Java程序运行并加载.class文件时,就可以根据package名找到相应的路径。

eg:

package net.mindview.simple;



JAVA访问权限


JAVA中访问控制权限根据权限由大到小依次为: public > protected > 包访问权限(没有关键字) > private

注:以下为了便于说明各访问权限,不妨做一个形象的比喻。同一个包中的类可以视为朋友关系;有继承关系的类可以视为父子关系同一个类中的所有成员都视为自己

作用域 自己(当前类) 朋友(同一package) 子孙(继承关系) 其他package 
public 可访问 可访问 可访问 可访问
protected 可访问 可访问 可访问 不可访问
friendly 可访问 可访问 不可访问 不可访问
private 可访问 不可访问 不可访问 不可访问

包访问权限

JAVA默认的访问权限没有任何关键字,通常是指包访问权限(有时也表示为friendly)。

这意味着当前包中的所有其他类对包访问权限的成员都有访问权限。但是对于非本包的类,这个成员却是private

由于一个编译单元(即.java文件)只能隶属于一个包,所以同一个编译单元中的所有类彼此可以相互访问。

自己朋友类可以访问。

 

public访问权限

 

所有人均可以访问。

 


private访问权限

 

仅自己可以访问(除了包含该成员的类以外,任何其他类都无法访问)。
 

 

protected访问权限

 

自己朋友类子孙类可以访问。

 


参考资料
《Thinking in Java》

你可能感兴趣的:(java基础)