打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
对象实例化错误

1 问题

在项目开发过程中如果你的项目中出现如下情况:则说明遇到对象实例化报错的问题。

2 方法

  1. .先分析报错原因,报错时,一定要看主要问题,对于遇到java.lang.InstantiationException实例化异常一般遇到这类问题,有两种情况。

  2. .第一种,要实例化的对象是一个接口或者是抽象类等无法被实例化的类。

解决方法就是在使用反射的机制时,由于抽象父类中的构造方法不是public的,所以导致异常的出现,其实很简单,只要将需要反射的类中的相应构造方法改为public即可。

   (3).这个异常多半是由于通过反射在实例化的时候,对应的类里面覆盖了无参构造而导致无法实例化,由于创建类的时候,默认有一个无参构造,前提是没有其他构造方法,如果没有明确的将无参构造写出来,该类就是缺少无参构造了,也就导致了无法实例化。

解决方法就是建议在创建类的时候,建议保留(显式的写出来)无参构造。

3 结语

   总结原因:遇到第一种情况只需将需要反射的类中的相应构造方法改为public就行了。而遇到第二种则要通过反射来为某个类创建实例的时候,需要该类存在无参构造,不然就会抛出InstantiationException该异常。所以最好还是把无参构造保留的好!(ps:如果无参构造的修饰符被修改为其他的protected private default,将会出现另一个异常java.lang.IllegalAccessException)

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Java中super关键字介绍以及super()的使用
[Java基础]面向对象
多用静态工厂代替构造器
java学习总结-高级语言特性-封装,继承,多态
Spring相关知识
如何理解父类引用指向子类对象
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服