java源文件(编译单元)中类成员访问控制权限
- 一个java源文件(编译单元)中可以有一个public类,并且只能有一个。
- public 修饰类成员,则所有类都可以访问这个成员
- 默认访问权限(包访问权限),包内所有类可访问,包外则是不能访问。
- protected(继承访问权限)修饰类成员,则只有包内类及包外子类可以访问。
- private 修饰类成员,则只有包含该成员的类外,其他任何类都无法访问这个成员。
类的访问权限
- public修饰时,该类的对象可以由包内外任何其他类创建。
- 默认访问权限(包访问权限),该类的对象只能由包内的类来创建,包外不行。
- 当不希望任何人对该类有访问权限时,只需把所有的构造器设置为private的。如果这样还想要访问则可以在该类的static成员内部创建。
//单例模式
class Test{
private Test(){}
private static Test test = new Test();
public static Test init(){
return test;
}
}
Thinking in Java 第六章 访问权限控制