java - java反射中找不到类

标签 java reflection

我正在学习java反射。我正在使用以下代码。但是当我运行时,它给出了错误

unreported exception ClassNotFoundException; must be caught or declared to be thrown 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]);
    }
}

最佳答案

它的意思是 Class.forName 抛出这个(非运行时)异常,所以你必须以某种方式处理它。这里有两种方法可以做到这一点

public class test{
    public static void main(String args[]) throws ClassNotFoundException
    {
        Class className=Class.forName("com.Test.First");
        Method[] methods=className.getMethods();
        System.out.println("First method is" + methods[0]);
    }
}

或者

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();
       }
    }
}

关于java - java反射中找不到类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43478125/

相关文章:

java - 如何在两个输出之间添加一个空格?

java - 两个程序之间的输入输出通信

c# - .net c# 中的程序集排序

c# - 关于 .NET 中的反射的完整教程?

java - JPA 的 commit() 方法是否使实体分离?

java - Ubuntu (NetBeans) 上的可执行 JAR

java - Eclipse - 如何向 "New"菜单中的 "File"部分贡献操作?

scala - 如何使用反射获取默认构造函数参数?

java - 为当前线程禁用 Java 反射

java - java中的字符串替换,类似于速度模板