gpt4 book ai didi

java - 如果带有 getConstructor() 的内部类如何创建实例

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:56:24 28 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
Java: How to load a class (and its inner classes) that is already on the class path?

有人可以帮助我了解如何使用 getConstructor 创建内部类的实例。

这是我现在的位置。

import java.lang.reflect.*;

public class Outer{
public Outer(int i){
//things to do
}
public class Inner{
Class<?>[] type = new Class<?>[1];
Class<?> myClass;
public Inner(int i){
//stuff and code
}

public void task(){
type[0] = Integer.class;
try{
myClass = Class.forName("Outer$Inner");
Constructor construct = myClass.getConstructor(type);
Object i = construct.newInstance(new Integer(43));
}
catch(Exception e){
e.printStackTrace();
}
}
}

public static void main(String[] args){
Outer outer = new Outer(new Integer(21));
Inner inner = outer.new Inner(new Integer(22));
inner.task();
}

错误信息

java.lang.NoSuchMethodException: Outer$Inner.<init>(java.lang.Integer)
at java.lang.Class.getConstructor0(Class.java:2706)
at java.lang.Class.getConstructor(Class.java:1657)
at Outer$Inner.task(Outer.java:18)
at Outer.main(Outer.java:30)

抱歉,如果我遗漏了一些明显的东西如果我能解决这个问题,我想从 txt 文件中获取输入并使用该字符串创建对象。

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com