java 如何定义静态
定义静态变量
在Java中,使用static关键字修饰的变量称为静态变量(类变量)。静态变量属于类,而非类的某个实例。所有实例共享同一个静态变量。
public class Example {
static int count = 0; // 静态变量
}
定义静态方法
静态方法同样使用static关键字修饰,可以直接通过类名调用,无需创建类的实例。静态方法中只能访问静态成员(变量或方法),不能直接访问实例成员。

public class Example {
static void printMessage() { // 静态方法
System.out.println("This is a static method.");
}
}
定义静态代码块
静态代码块在类加载时执行,用于初始化静态变量或执行一次性操作。一个类可以有多个静态代码块,按顺序执行。

public class Example {
static {
System.out.println("Static block executed.");
}
}
定义静态内部类
静态内部类是使用static修饰的内部类。静态内部类不依赖于外部类的实例,可以直接创建。
public class OuterClass {
static class StaticInnerClass { // 静态内部类
void display() {
System.out.println("Inside static inner class.");
}
}
}
静态导入
静态导入允许直接使用其他类的静态成员而无需通过类名限定。语法为import static。
import static java.lang.Math.PI; // 静态导入PI
public class Circle {
double area(double radius) {
return PI * radius * radius; // 直接使用PI
}
}
注意事项
- 静态变量在内存中只有一份拷贝,被所有实例共享。
- 静态方法不能重写,但可以隐藏(子类中定义同名静态方法)。
- 静态上下文(静态方法、静态代码块)中不能使用
this和super关键字。 - 静态成员在类加载时初始化,早于实例成员的初始化。






