java中函数对象是什么意思,谁能具体解释一下

来源:百度知道 编辑:UC知道 时间:2024/07/02 07:22:01
我看了一下书,但是没怎么看懂,网上这种知识也没找到,麻烦大虾帮我解释一下,谢谢了

你说的是反射吧? Method类就是方法类, 可以获得类中的某个方法, 然后可以调用或是操作这个方法. 举个例子(这个例子的实际意义不大):

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
public class Main {
public static void main(String[] args) {
try {
Method method = Main.class.getMethod("test", new Class[] { String.class, Integer.class }); // 获得Main这个类中, 方法名为test, 参数为(String, Integer) 的方法的引用
Boolean flag = (Boolean) method.invoke(new Main(), new Object[] { "Tom", 23}); // 调用这个方法, 执行方法的对象是Main 构造出来的一个实例, 参数是Tom 和 23, 返回值是Object类型的, 所以根据需要强制转换.
System.out.println("执行结果是 : " + flag);
} catch (SecurityException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.prin