我想在java中使用反射,我想這樣做,第三類將從控制檯讀取類的名稱作爲字符串。在閱讀課程名稱後,它會自動動態地(!)生成該課程,並調用其方法writeout
。如果該類不是從輸入中讀取的,則不會被初始化。使用Java動態創建類反射,java.lang.ClassNotFoundException
我寫的代碼,但我總是採取「java.lang.ClassNotFoundException
」,我不知道如何解決它。 任何人都可以幫助我嗎?
class class3 {
public Object dynamicsinif(String className, String fieldName, String value) throws Exception
{
Class cls = Class.forName(className,true,null);
Object obj = cls.newInstance();
Field fld = cls.getField(fieldName);
fld.set(obj, value);
return obj;
}
public void writeout3()
{
System.out.println("class3");
}
}
public class Main {
public static void main(String[] args) throws Exception
{
System.out.println("enter the class name : ");
BufferedReader reader= new BufferedReader(new InputStreamReader(System.in));
String line=reader.readLine();
String x="Text1";
try{
class3 trycls=new class3();
Object gelen=trycls.dynamicsinif(line, x, "rubby");
Class yeni=(Class)gelen;
System.out.println(yeni);
}catch(ClassNotFoundException ex){
System.out.print(ex.toString());
}
}
}
縮進你用4個空格編碼,並刪除空行,使其更容易閱讀 – Progman 2010-04-02 13:06:40
正在使用「我」字符來引用「我」一個國際化的事情? – 2010-04-02 13:12:10