java 如何使用static
static 关键字在 Java 中的用法
在 Java 中,static 关键字用于修饰类的成员(变量、方法、代码块和嵌套类),使其属于类本身而非类的实例。以下是具体用法:
静态变量(类变量)
静态变量被所有实例共享,内存中仅存一份副本。
语法:
class ClassName {
static dataType variableName;
}
示例:
class Counter {
static int count = 0; // 所有实例共享
Counter() {
count++;
}
}
// 使用
Counter c1 = new Counter();
Counter c2 = new Counter();
System.out.println(Counter.count); // 输出 2
静态方法
静态方法属于类,可直接通过类名调用,不能访问实例成员(非静态变量/方法)。
语法:

class ClassName {
static returnType methodName(parameters) { ... }
}
示例:
class MathUtils {
static int add(int a, int b) {
return a + b;
}
}
// 调用
int sum = MathUtils.add(5, 3);
静态代码块
用于初始化静态变量,在类加载时执行一次。
语法:

class ClassName {
static {
// 初始化代码
}
}
示例:
class Database {
static String config;
static {
config = loadConfig(); // 模拟加载配置
}
static String loadConfig() {
return "DB_CONFIG";
}
}
静态嵌套类
静态嵌套类不依赖外部类的实例,可直接创建。
语法:
class OuterClass {
static class NestedClass { ... }
}
示例:
class Outer {
static class Nested {
void show() {
System.out.println("Static Nested Class");
}
}
}
// 使用
Outer.Nested nested = new Outer.Nested();
nested.show();
注意事项
- 静态方法中不能使用
this或super。 - 静态上下文(如静态方法)不能直接访问非静态成员。
- 静态变量默认值为
null(对象类型)或0/false(基本类型)。






