java如何调用类方法
调用类方法的基本方式
在Java中,调用类方法分为静态方法和实例方法两种情况,具体取决于方法的定义方式。
静态方法调用
静态方法属于类本身,无需创建对象即可调用。语法为:类名.方法名()。
class MathUtils {
public static int add(int a, int b) {
return a + b;
}
}
// 直接通过类名调用
int result = MathUtils.add(5, 3);
实例方法调用
实例方法属于对象,需先创建类的实例,再通过对象调用。语法为:对象名.方法名()。
class Calculator {
public int multiply(int a, int b) {
return a * b;
}
}
// 创建对象后调用
Calculator calc = new Calculator();
int result = calc.multiply(4, 5);
通过反射调用类方法
若需动态调用方法(如方法名在运行时确定),可通过反射实现。
获取并调用静态方法
Class<?> clazz = Class.forName("MathUtils");
Method method = clazz.getMethod("add", int.class, int.class);
int result = (int) method.invoke(null, 5, 3); // 静态方法传入null
获取并调用实例方法
Class<?> clazz = Class.forName("Calculator");
Object instance = clazz.newInstance();
Method method = clazz.getMethod("multiply", int.class, int.class);
int result = (int) method.invoke(instance, 4, 5);
方法调用的注意事项
- 访问权限:确保方法的作用域(如
public)允许当前类调用。 - 参数匹配:调用时传递的参数类型和数量需与方法定义一致。
- 异常处理:反射调用可能抛出
NoSuchMethodException、IllegalAccessException等异常,需捕获处理。
示例:多态下的方法调用
若类继承或实现接口,可通过父类/接口类型调用实际子类的方法。
interface Shape {
void draw();
}
class Circle implements Shape {
public void draw() {
System.out.println("Drawing a circle");
}
}
// 通过接口类型调用
Shape shape = new Circle();
shape.draw();






