java 如何调用静态方法
调用静态方法的基本语法
在Java中,静态方法属于类而非实例,调用时无需创建对象。语法格式为:ClassName.staticMethodName(arguments);
示例代码:
public class MathUtils {
public static int add(int a, int b) {
return a + b;
}
}
// 调用静态方法
int result = MathUtils.add(5, 3);
System.out.println(result); // 输出:8
静态方法调用的注意事项
- 类名不可省略:必须通过类名直接调用静态方法,即使在同一类内调用其他静态方法也需遵循此规则(除非是递归调用自身)。
- 访问权限:静态方法需满足访问修饰符(如
public、private)的限制。例如,private静态方法只能在声明它的类内部调用。
错误示例:

MathUtils utils = new MathUtils();
utils.add(5, 3); // 编译警告:静态方法应通过类名调用
静态方法与其他成员的交互
- 静态上下文的限制:静态方法内不能直接访问实例变量或实例方法,但可以访问其他静态成员(变量或方法)。
示例:
public class Counter {
private static int count = 0;
public static void increment() {
count++; // 合法:访问静态变量
}
public static int getCount() {
return count;
}
}
静态导入的简化调用方式
通过import static可以省略类名直接调用静态方法,适用于频繁调用场景。

语法示例:
import static java.lang.Math.PI;
import static java.lang.Math.pow;
public class Circle {
public double area(double radius) {
return PI * pow(radius, 2); // 直接使用PI和pow()
}
}
常见应用场景
- 工具类方法:如
Arrays.sort()、Collections.reverse()等。 - 工厂方法:通过静态方法返回对象实例,例如
LocalDate.now()。 - 单例模式:通过静态方法获取唯一实例。
单例模式示例:
public class Singleton {
private static Singleton instance;
private Singleton() {}
public static Singleton getInstance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}
}






