当前位置:首页 > Java

java如何调用函数

2026-04-09 00:22:49Java

调用静态方法

静态方法属于类而非实例,可直接通过类名调用。语法为 ClassName.methodName(parameters)

public class MathUtils {
    public static int add(int a, int b) {
        return a + b;
    }
}

// 调用
int result = MathUtils.add(3, 5); // 输出 8

调用实例方法

实例方法需通过对象调用。需先创建类的实例,再使用 objectName.methodName(parameters)

java如何调用函数

public class Calculator {
    public int multiply(int a, int b) {
        return a * b;
    }
}

// 调用
Calculator calc = new Calculator();
int result = calc.multiply(4, 6); // 输出 24

方法重载调用

同一类中允许同名方法存在,需参数列表不同(类型、数量或顺序)。调用时根据传入参数自动匹配。

public class Printer {
    public void print(String text) {
        System.out.println("String: " + text);
    }
    public void print(int number) {
        System.out.println("Int: " + number);
    }
}

// 调用
Printer printer = new Printer();
printer.print("Hello"); // 输出 "String: Hello"
printer.print(42);      // 输出 "Int: 42"

递归调用

方法内部调用自身,需设置终止条件避免无限循环。

java如何调用函数

public class Factorial {
    public static int factorial(int n) {
        if (n == 0) return 1; // 终止条件
        return n * factorial(n - 1); // 递归调用
    }
}

// 调用
int result = Factorial.factorial(5); // 输出 120

通过反射调用

运行时动态获取方法并调用,适用于不确定方法名的场景。

import java.lang.reflect.Method;

public class ReflectionExample {
    public static void callMethod(Object obj, String methodName) throws Exception {
        Method method = obj.getClass().getMethod(methodName);
        method.invoke(obj); // 调用无参方法
    }
}

// 示例类
class Sample {
    public void greet() {
        System.out.println("Hello via Reflection!");
    }
}

// 调用
Sample sample = new Sample();
ReflectionExample.callMethod(sample, "greet"); // 输出 "Hello via Reflection!"

Lambda表达式调用

适用于函数式接口(仅含一个抽象方法的接口),简化匿名类实现。

interface Greeter {
    void greet(String name);
}

// 调用
Greeter greeter = name -> System.out.println("Hello, " + name);
greeter.greet("Alice"); // 输出 "Hello, Alice"

注意事项

  • 静态方法调用无需实例化,实例方法必须先创建对象。
  • 递归需谨慎处理终止条件,避免栈溢出。
  • 反射调用可能抛出异常(如 NoSuchMethodException),需捕获或声明。
  • Lambda表达式要求目标接口为函数式接口(如 RunnableConsumer 等)。

标签: 函数java
分享给朋友:

相关文章

如何运行java程序

如何运行java程序

编写Java代码 创建一个以.java为扩展名的文件,例如HelloWorld.java。文件内容需包含一个类定义,类名必须与文件名一致。例如: public class HelloWorld {…

java如何上传文件

java如何上传文件

使用HttpURLConnection上传文件 在Java中,可以通过HttpURLConnection实现文件上传功能。需要设置请求头为multipart/form-data,并构建包含文件数据的请…

java程序如何打包

java程序如何打包

打包Java程序的方法 使用JAR打包 Java程序可以通过JAR(Java Archive)格式打包,这是一种常见的压缩格式,适用于包含多个类文件和资源的项目。以下是使用JAR打包的步骤: 确保项…

java如何返回数组

java如何返回数组

返回数组的方法 在Java中,可以通过多种方式返回数组。以下是几种常见的方法: 直接返回数组 定义一个方法,返回类型为数组类型,直接在方法内部创建并返回数组。 public int[] getI…

如何升级java

如何升级java

检查当前Java版本 在升级之前,需确认当前安装的Java版本。在终端或命令提示符中运行以下命令: java -version 输出会显示当前Java版本(如1.8.0_301或17.0.2)。…

如何精通java

如何精通java

理解Java核心概念 Java的基础知识包括数据类型、变量、运算符、控制流语句(如循环和条件判断)、数组以及面向对象编程(OOP)的核心概念(类、对象、继承、多态、封装)。熟练掌握这些内容是后续学习的…