下面的代码或出现异常,该如何解决呢?

package com.itheima;import java.lang.reflect.Constructor;class Person { private String name; //姓名 private int age; //年龄 /** 构造方法 */ public Person(String name, int age) { this.name = name; this.age = age; } /** 获取姓名 */ public String getName() { return name; } /** 设置新的姓名 */ public void setName(String name) { this.name = name; } /** 获得年龄 */ public int getAge() { return age; } /** 设置新的年龄 */ public void setAge(int age) { this.age = age; } }public class Test7 { public static void main(String[] args) throws Exception { //获取Person类的字节码 Class<Person> cla = (Class<Person>) Class.forName("com.itheima.Person"); //通过字节码获得构造方法 Constructor<Person> constructor = cla.getConstructor(String.class, Integer.class); }}

运行上面的程序,出现如下异常:


守候你守候我
浏览 116回答 2
2回答

qq_花开花谢_0

Constructor<Person> constructor = cla.getConstructor(String.class, Integer.class);你这里想要使用的构造方法的第二个参数是Integer的,而你声明的构造函数的第二个参数是int的。Integer.TYPE表示int类型

MYYA

很简单,获取构造方法的时候,第二个参数应该是int.class,而不是包装类Integer
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java