访问控制权限

时间:2021-11-24 05:38:23

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 第六章 访问权限控制