像其他语言一样,Java可以使用修饰符来修饰类中方法和属性。主要有两类修饰符:
- 访问控制修饰符 : default, public , protected, private
- 非访问控制修饰符 : final, abstract, static, synchronized
Java 中的修饰符用于定义类、方法、构造函数、变量等的访问级别和行为。以下是一些常用的 Java 修饰符:
- public:可以被任何其他类访问。
- protected:可以被同一个包中的类以及不同包中的子类访问。
- private:只能在定义它的类内部访问。
- default(没有修饰符):可以被同一个包中的类访问,但不能被不同包中的类访问。
- static:表示该成员属于类本身,而不是类的实例。这意味着可以通过类名直接访问。
- final:表示该成员(类、方法或变量)一旦声明后,其值不能被改变。
- abstract:表示该类或方法没有具体实现,需要由子类提供具体实现。
- transient:用于字段,表示序列化时该字段不包括在序列化的类中。
- volatile:用于变量,表示该变量可能会被多个线程同时访问,因此每次访问都应该从主内存中读取。
- synchronized:用于方法或代码块,表示在一次只有一个线程能够执行该方法或代码块。
- native:用于方法,表示该方法是用另一种语言(如C或C++)实现的。
- strictfp:用于类或方法,表示浮点数运算必须严格遵守IEEE 754标准。
这些修饰符可以组合使用,以提供更精细的控制。例如,public static final
可以一起使用,表示一个类中公开的、静态的且不可改变的常量。