<导航

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

posted @ 2021-12-21 14:54  字节悦动  阅读(1238)  评论(0)    收藏  举报