gpt4 book ai didi

Java/反射 - 错误在哪里?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:13:32 25 4
gpt4 key购买 nike

我在这个网站上找到了一些关于 java/reflection 的帖子。但是还是有些不明白。谁能告诉我代码中的错误在哪里? (需要打印“HELLO!”)

输出:

java.lang.NoSuchMethodException: Caller.foo()

这是我的 Main.java:

import java.lang.reflect.*;

class Main {

public static void main(String[] args) {
Caller cal = new Caller();
Method met;
try {
met = cal.getClass().getMethod("foo", new Class[]{});
met.invoke(cal);
} catch (Exception e) {
System.out.println(e.toString());
}
}
}

class Caller {
void foo() {
System.out.println("HELLO!");
}
}

最佳答案

getMethod()只找到 public 方法。将 Caller#foo() 方法的访问修饰符更改为 public,或者使用 getDeclaredMethod()相反。

关于Java/反射 - 错误在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13068181/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com