我正在学习java反思。我使用以下代码。但是当我跑步时,它会给出错误
未报告的异常ClassNotFoundException;必须被抓住或 宣布被抛出 class className = Class.forName(“First”);
也许我在某个地方出错了。请帮帮我。这是代码:
import java.lang.reflect.Method;
public class First{
public void print(){}
public void ready(){}
}
public class test{
public static void main(String args[])
{
Class className=Class.forName("com.Test.First");
Method[] methods=className.getMethods();
System.out.println("First method is" + methods[0]);
}
}
答案 0 :(得分:1)
所有它的说法是Class.forName抛出这个(非运行时)异常,所以你必须以某种方式处理它。这有两种方法可以做到这一点
public class test{
public static void main(String args[])
{
try {
Class className=Class.forName("com.Test.First");
Method[] methods=className.getMethods();
System.out.println("First method is" + methods[0]);
}
catch (ClassNotFoundException ex) {
ex.printStackTrace();
}
}
}
或
{{1}}
答案 1 :(得分:0)
这一行是问题
Class className=Class.forName("com.Test.First");
Class.forName("com.Test.First")
中的,你可以用任何乱码替换com.Test.First
,编译器应该不在乎为你验证它。所有编译器都知道,可能没有类com.Test.First
,因此您负责处理ClassNotFoundException
。