java异常:java.lang.InstantiationException
今天使用反射实例化遇到一个异常:java.lang.InstantiationException

先看要通过反射实例化的类:就一个很普通的类
package com.dd.reflect; public class flower { private String color; private int num; public flower(String color, int num) { super(); this.color = color; this.num = num; }
@Override public String toString() { return "flower [color=" + color + ", num=" + num + "]"; } public String getColor() { return color; } public void setColor(String color) { this.color = color; } public int getNum() { return num; } public void setNum(int num) { this.num = num; } public void f1(String s) { System.out.println(s); } }
解决方法:通过查官方文档:

翻译:
当应用程序试图在class类中使用newInstance方法创建类的实例,但无法实例化指定的类对象时抛出。实例化失败的原因有很多,包括但不限于:
类对象表示抽象类、接口、数组类、基本类型或void
该类没有空构造函数

然后我的是没有空的构造函数,加上无参构造函数,就解决了这个问题:

参考文章:https://blog.csdn.net/weixin_42036942/article/details/96625912

浙公网安备 33010602011771号