在Java中,类的修饰符可以分为两大类:访问权限修饰符和非访问权限修饰符。以下是这两类修饰符的详细列表:
访问权限修饰符
public:类、方法、变量等对所有类可见。
protected:类、方法、变量等对同一个包内的类以及不同包中的子类可见。
default (无修饰符):类、方法、变量等只对同一个包内的类可见。
private:类、方法、变量等只对定义它们的类可见。
非访问权限修饰符
abstract:类不能被实例化,只能被继承,且可以包含抽象方法和非抽象方法。
final:类不能被继承,修饰的方法不能被重写,修饰的变量是常量,不可修改。
static:修饰类方法和类变量,表示属于类的静态成员,不属于任何对象实例。
synchronized:用于多线程同步,修饰的方法在多线程环境下保证线程安全。
transient:修饰的变量在序列化时不会被保存。
volatile:修饰的变量可能被多个线程同时修改,要求编译器优化以保证线程安全。
native:修饰的方法通常用C或C++实现。
这些修饰符可以用来控制类、方法和变量的访问级别以及行为特性。