在Java中,修饰符用于修饰类、方法、变量等,可以改变它们的属性和行为。
访问修饰符:
-
public:
- 作用:对所有类可见,无访问限制。
- 示例:
public class MyClass { }
-
protected:
- 作用:对同一包内的类和所有子类可见。
- 示例:
protected int variable;
-
default(默认,包内可见):
- 作用:对同一包内的类可见,没有修饰符时,默认为包内可见。
- 示例:
class MyClass { }
-
private:
- 作用:仅对本类可见。
- 示例:
private void myMethod() { }
非访问修饰符:
-
final:
- 作用:表示不可改变的,可以用于类、方法和变量。
- 示例:
final class MyClass { },final void myMethod() { },final int variable;
-
abstract:
- 作用:用于声明抽象类和抽象方法。
- 示例:
abstract class MyAbstractClass { abstract void myAbstractMethod(); }
-
static:
- 作用:用于声明类方法和类变量。
- 示例:
static int staticVariable;,static void staticMethod() { }
-
synchronized:
- 作用:用于同步方法或同步代码块,防止多个线程同时访问。
- 示例:
public synchronized void myMethod() { }
-
volatile:
- 作用:用于表示一个变量是可被多个线程同时访问的,防止线程本地缓存的影响。
- 示例:
private volatile int myVariable;
-
transient:
- 作用:用于声明一个变量不会被默认的序列化。
- 示例:
private transient int myTransientVariable;
-
native:
- 作用:用于声明一个方法是由本地代码(如C或C++)实现的。
- 示例:
public native void myNativeMethod();
-
strictfp:
- 作用:用于声明浮点数计算是符合IEEE 754规范的。
- 示例:
public strictfp class MyStrictfpClass { }