静态变量和静态方法属于类本身,可通过类名直接访问。2. 静态变量被所有实例共享,修改后影响全局。3. 静态方法只能访问静态成员,不可使用this或super。4. 常用于工具类、常量定义和main方法。5. 多线程下需注意共享状态问题。

在Java中,静态方法和静态变量属于类本身,而不是类的实例。这意味着你可以在不创建对象的情况下调用静态方法或访问静态变量。下面详细介绍如何实现和使用它们。
静态变量(Static Variables)
静态变量也叫类变量,它被类的所有实例共享。只要有一个实例修改了静态变量,其他所有实例都会看到这个变化。
定义静态变量使用 static 关键字:
static int count = 0;举个例子:
立即学习“Java免费学习笔记(深入)”;
public class Counter {
static int totalCount = 0;
public Counter() {
totalCount++;
}
public static void showCount() {
System.out.println("总数量:" + totalCount);
}
}
每创建一个 Counter 对象,totalCount 就加1。因为它是静态的,所以所有对象共享同一个值。
静态方法(Static Methods)
静态方法属于类,可以直接通过类名调用,不需要创建对象。
静态方法不能访问非静态成员(如普通变量或方法),只能访问静态成员。
定义方式:
static void methodName()例如:
public class MathUtils {
public static int add(int a, int b) {
return a + b;
}
}
调用时直接使用类名:
MathUtils.add(5, 3);常见用途和注意事项
静态成员常用于工具类、常量定义、计数器等场景。
- 工具类方法(如 Math.sqrt)通常声明为静态,方便调用
- 常量可以用 static final 定义,例如:
public static final double PI = 3.14159; - 静态方法中不能使用 this 或 super
- 主方法 main 必须是静态的,因为JVM在启动时不会创建对象
基本上就这些。静态成员简化了调用流程,但要小心共享状态带来的副作用,尤其是在多线程环境下。合理使用即可发挥其便利性。










