static修饰的方法属于类而非对象,可通过类名直接调用;它在类加载时分配内存,不能访问非static成员,不可使用this/super,也不能被重写而只能被隐藏。

Java 中用 static 修饰成员方法后,该方法就属于类本身,而不是某个具体对象。因此可以直接通过 类名.方法名() 调用,无需创建实例。
static 方法的特点和调用方式
被 static 修饰的方法叫“静态方法”,它在类加载时就分配内存,独立于任何对象存在。只要类已加载(比如首次使用该类),就能直接调用。
- 调用语法: ClassName.methodName(参数)
- 不能访问非 static 成员变量或非 static 方法(因为它们依赖对象实例)
- 可以访问本类的其他 static 成员(变量或方法)
- 常见例子:Math.abs()、System.out.println() 中的 println 是实例方法,但 System.out 是 static 字段;main 方法也必须是 static,以便 JVM 直接启动
一个可运行的例子
下面这个类定义了一个静态工具方法:
public class Calculator {
public static int add(int a, int b) {
return a + b;
}
}
在其他地方直接调用:
int result = Calculator.add(3, 5); // 输出 8,无需 new Calculator()
注意事项
- static 方法中不能使用 this 或 super(因为没有当前对象上下文)
- 如果方法逻辑依赖对象状态(如字段值随对象变化),就不适合声明为 static
- 重写(override)只针对实例方法;static 方法只能被“隐藏”(hiding),即子类定义同名 static 方法时,调用取决于引用类型,而非实际对象类型
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











