java如何调用函数
调用静态方法
静态方法属于类而非对象,可直接通过类名调用。语法为 ClassName.methodName(arguments)。
public class MathUtils {
public static int add(int a, int b) {
return a + b;
}
}
// 调用
int result = MathUtils.add(3, 5); // 返回8
调用实例方法
实例方法需通过对象调用。先创建类的实例,再使用 objectName.methodName(arguments)。
public class Calculator {
public int multiply(int a, int b) {
return a * b;
}
}
// 调用
Calculator calc = new Calculator();
int result = calc.multiply(4, 6); // 返回24
方法重载调用
Java支持同名方法通过不同参数列表区分。调用时根据参数类型和数量自动匹配。
public class Printer {
public void print(String text) {
System.out.println(text);
}
public void print(int number) {
System.out.println(number);
}
}
// 调用
Printer printer = new Printer();
printer.print("Hello"); // 调用String版本
printer.print(100); // 调用int版本
递归调用
方法内部可直接调用自身,需注意终止条件以避免无限递归。
public class Factorial {
public static int calculate(int n) {
if (n <= 1) return 1;
return n * calculate(n - 1); // 递归调用
}
}
// 调用
int fact = Factorial.calculate(5); // 返回120
通过反射调用
使用 java.lang.reflect.Method 可在运行时动态调用方法,适用于不确定方法名的场景。
import java.lang.reflect.Method;
public class ReflectionExample {
public void greet(String name) {
System.out.println("Hello, " + name);
}
}
// 动态调用
Method method = ReflectionExample.class.getMethod("greet", String.class);
method.invoke(new ReflectionExample(), "Alice"); // 输出"Hello, Alice"
注意事项
- 静态方法调用无需实例化类,但实例方法必须先创建对象。
- 方法参数需严格匹配定义时的类型和顺序。
- 递归调用应确保有终止条件,防止栈溢出错误。
- 反射调用会带来性能开销,仅在必要时使用。







