1. 访问修饰符(Access Modifiers):
这些修饰符定义了类、变量或方法的可访问性。
- public: 可以被任何类访问。
- protected: 可以被同一包内的类和所有子类访问。
- default (no modifier): 在同一包内可见,不使用任何修饰符。不同包的类无法访问。
- private: 在同一类内可见。
public class MyClass {
public int publicVar;
protected int protectedVar;
int defaultVar; // 默认为包内可见
private int privateVar;
}
2. 非访问修饰符(Non-access Modifiers):
这些修饰符包括 final, static, abstract, synchronized, volatile 等,用于控制其他方面的类、变量或方法的行为。
- final: 用于修饰类、变量或方法,表示它们是最终的,不可被继承、修改或重写。
- static: 表示成员(变量或方法)属于类而不是实例,可以直接通过类名访问。
- abstract: 用于类和方法。抽象类不能被实例化,抽象方法必须被子类实现。
- synchronized: 用于方法或代码块,确保在同一时间只有一个线程可以访问。
- volatile: 用于变量,表示它可能被多个线程同时访问,确保可见性但不保证原子性。
public final class MyFinalClass {
static int staticVar;
abstract class MyAbstractClass {
abstract void myAbstractMethod();
}
synchronized void mySynchronizedMethod() {
// 线程安全的代码
}
volatile int myVolatileVar;
}
这只是一些常见的修饰符,Java中还有其他一些修饰符,它们用于更特殊的情况。选择合适的修饰符取决于你的设计需求。
转载请注明出处:http://www.zyzy.cn/article/detail/408/Java