在Java中,修饰符和关键字是两个不同的概念。
关键字(Keyword)指的是在Java语言中具有特殊含义的单词,通常表示一些语法结构、数据类型、操作符号等。例如:public
、class
、static
、void
等。这些关键字都有着严格的语法规则和用法,不能被作为标识符来命名变量、方法等。
修饰符(Modifier)指的是可以用于修改类、变量、方法、接口、枚举等元素定义的关键字,用于改变其属于某种特定类型或者属性。常见的修饰符包括:
- 访问控制修饰符:包括
public
、protected
、private
,分别用于控制访问权限; - 静态修饰符:
static
用于修饰静态成员变量和静态方法; - 最终修饰符:
final
用于限制变量或方法只能赋值或调用一次; - 抽象修饰符:
abstract
用于修饰抽象类和抽象方法; - 权限修饰符:
synchronized
、volatile
等
需要注意的是,修饰符也有一些使用限制和规则,比如一个成员变量不能同时使用final
和volatile
修饰符等。
常用关键字
Java 修饰符
Java语言提供了很多修饰符,主要分为以下两类:
- 访问修饰符
- 非访问修饰符
访问控制修饰符
Java中,可以使用访问控制符来保护对类、变量、方法和构造方法的访问。Java 支持 4 种不同的访问权限。
-
default (即默认,什么也不写): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。
-
private : 在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类)
-
public : 对所有类可见。使用对象:类、接口、变量、方法
-
protected : 对同一包内的类和所有子类可见。使用对象:变量、方法。 注意:不能修饰类(外部类)
非访问修饰符
为了实现一些其他的功能,Java 也提供了许多非访问修饰符。
static 修饰符,用来修饰类方法和类变量。
final 修饰符,用来修饰类、方法和变量,final 修饰的类不能够被继承,修饰的方法不能被继承类重新定义,修饰的变量为常量,是不可修改的。
abstract 修饰符,用来创建抽象类和抽象方法。
synchronized 和 volatile 修饰符,主要用于线程的编程。