代码为何总是报错,是Class 或 Object类有什么问题吗
来源:1-1 介绍反射及作用
平淡无奇很累
2021-03-08 19:42:09
相关代码:package com.rocky.test;
import com.rocky.entity.Goods;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
public class GoodsReflectTest {
public static void main(String[] args) {
try {
Class goodsClass = Class.forName("com.rocky.entity.Goods");
Constructor constructor=goodsClass.getConstructor(new Class[]{
Integer.class, String.class, Float.class, String.class});
Goods goods1 = (Goods) constructor.newInstance(new java.lang.Object[] {10, "手机", 3000, "超长待机"});
Method method = goodsClass.getMethod("display", new Class[]{String.class});
Goods goods2=(Goods) method.invoke(new Object[] {"haha"});
//Method method=goodsClass.getMethod("display",String.class);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}
}
相关截图:
1回答
好帮手慕阿满
2021-03-09
同学你好,报错提示找不到Goods的带参构造方法,如:
建议同学查看一下Goods类中是否有如下的构造方法,如:
如果没有,建议同学添加再试试。
如果价格是Float类型,在实例化时,应该传入Float类型3000f。
祝学习愉快~
相似问题