Java语言提供了很多修饰符,主要分为以下两类:
- 访问修饰符
- 非访问修饰符
访问控制修饰符
Java中,可以使用访问控制符来保护对类、变量、方法和构造方法的访问。Java 支持 4 种不同的访问权限。
default (即默认,什么也不写)
在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。
使用默认访问修饰符声明的变量和方法,对同一个包内的类是可见的。接口里的变量都隐式声明为 public static final
,而接口里的方法默认情况下访问权限为 public
voidstart() { //...}
private
在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类)
私有访问修饰符是最严格的访问级别,所以被声明为 private
的方法、变量和构造方法只能被所属类访问,并且类和接口不能声明为 private
。
声明为私有访问类型的变量只能通过类中公共的 getter
方法被外部类访问。
publicclassAnimal { privateStringname; privatedoubleweight; publicAnimal() { } publicAnimal(Stringname, doubleweight) { this.name=name; this.weight=weight; } publicStringgetName() { returnname; } publicdoublegetWeight() { returnweight; } }
public
对所有类可见。使用对象:类、接口、变量、方法
被声明为 public 的类、方法、构造方法和接口能够被任何其他类访问。
publicstaticvoidmain(String[] args) { // ...}
protected
对同一包内的类和所有子类可见。使用对象:变量、方法。 注意:不能修饰类(外部类)。
接口及接口的成员变量和成员方法不能声明为 protected,否则IDEA会报错: