Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
尝试创建新实例时出现Java实例化异常_Java_Instantiationexception - Fatal编程技术网

尝试创建新实例时出现Java实例化异常

尝试创建新实例时出现Java实例化异常,java,instantiationexception,Java,Instantiationexception,我试图从文件夹中加载类文件,这样用户就可以与我的程序进行交互。用户应该能够扩展我创建的抽象类并将其放到文件夹中,但是每当我尝试加载一个类(我创建的,所以我知道它是正确的),它都会给我一个实例化异常。下面是一个堆栈跟踪片段和发生错误的位置片段 [9:09:22 PM] Jav: 23:03:40 [SEVERE] java.lang.InstantiationException: UchihaClan 23:03:40 [SEVERE] at java.lang.Cla

我试图从文件夹中加载类文件,这样用户就可以与我的程序进行交互。用户应该能够扩展我创建的抽象类并将其放到文件夹中,但是每当我尝试加载一个类(我创建的,所以我知道它是正确的),它都会给我一个实例化异常。下面是一个堆栈跟踪片段和发生错误的位置片段

[9:09:22 PM] Jav:         23:03:40 [SEVERE] java.lang.InstantiationException: UchihaClan
23:03:40 [SEVERE]       at java.lang.Class.newInstance0(Unknown Source)
23:03:40 [SEVERE]       at java.lang.Class.newInstance(Unknown Source)
23:03:40 [SEVERE]       at com.zavcoding.narutorpg.Classes.ClassLoader.load(ClassLoader.java:52)
23:03:40 [SEVERE]       at com.zavcoding.narutorpg.NarutoRPG.onEnable(NarutoRPG.java:38)



Class<?> clazz = loader.loadClass(name);
Object object = clazz.newInstance();
if (!(object instanceof UserMadeClass)) {
    System.out.println("Not a valid user class.");
    continue;
}
UserMadeClass umc = (UserMadeClass) object;
[9:09:22 PM]Jav:23:03:40[严重]java.lang.InstantiationException:UchihaClan
23:03:40[严重]在java.lang.Class.newInstance0(未知源)
23:03:40[严重]在java.lang.Class.newInstance(未知源)
23:03:40[严重]在com.zavcoding.narutorpg.Classes.ClassLoader.load(ClassLoader.java:52)
23:03:40[严重]在com.zavcoding.narutorpg.narutorpg.onEnable(narutorpg.java:38)
Class clazz=loader.loadClass(名称);
Object=clazz.newInstance();
if(!(UserMadeClass的对象实例)){
System.out.println(“不是有效的用户类”);
持续
}
UserMadeClass umc=(UserMadeClass)对象;

您是否有更多的堆栈跟踪?有时会有一个“起因”部分。Java是开源的,所以您可以查看。特别是,如果给定的类没有可访问的零参数构造函数,它似乎会抛出一个
实例化异常
。@ZachSugano-我会这么说,除非您的子类提供自己的零参数构造函数。您实例化的类必须有一个零参数构造函数。它扩展的抽象类可以有任何内容,只要调用正确。如果使用
getDeclaredConstructors()
获取构造函数,则可以使用参数调用构造函数。是否有更多堆栈跟踪?有时会有一个“起因”部分。Java是开源的,所以您可以查看。特别是,如果给定的类没有可访问的零参数构造函数,它似乎会抛出一个
实例化异常
。@ZachSugano-我会这么说,除非您的子类提供自己的零参数构造函数。您实例化的类必须有一个零参数构造函数。它扩展的抽象类可以有任何内容,只要调用正确。如果使用
getDeclaredConstructors()
获取构造函数,则可以使用参数调用构造函数。