可能重複一個內部類:
Java: How to load a class (and its inner classes) that is already on the class path?如何創建一個實例,如果有getConstructor()
有人能幫助我瞭解如何創建使用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文件獲取輸入,並使用字符串創建對象。
這個問題在鏈接的問題沒有解決。 – James 2010-12-18 05:48:03