java中用static修饰的方法属于类本身,不依赖对象实例,可直接通过“类名.方法名”调用;其定义需在返回类型前加static关键字,内部不能访问非静态成员、this或super,常用于工具类等无状态场景。

Java中用static修饰的方法属于类本身,不依赖对象实例,因此可直接通过“类名.方法名”调用。
静态方法的基本定义与语法
在类中声明方法时,在返回类型前加上static关键字即可:
public static void printInfo() {
System.out.println("这是静态方法");
}
该方法无需创建类的对象,只要类被加载(如首次引用),就能直接调用。
调用静态方法的正确方式
- 使用
类名.方法名()调用,例如:MyUtils.printInfo(); - 不能通过
new MyUtils().printInfo()调用——虽然语法允许,但违背设计初衷,且易误导为实例行为 - 可在其他类、main方法、甚至静态代码块中直接调用
静态方法的使用限制
因为不依附于任何对象,静态方法内部不能直接访问:
- 非静态成员变量(实例变量)——编译报错
- 非静态方法——必须先创建对象再调用,或改为静态
-
this和super关键字——不存在当前实例上下文
若需访问实例成员,应将逻辑拆分:静态方法负责通用逻辑(如工具计算),实例方法负责状态操作。
典型应用场景举例
静态方法常用于工具类、工厂方法、配置初始化等场景:
public class StringUtils {
public static boolean isEmpty(String str) {
return str == null || str.length() == 0;
}
}
调用:StringUtils.isEmpty("hello") —— 简洁、高效、无状态依赖。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











