JAVA提供了反射功能。比如說,吾現在有一個類的class,想取到預設的空參數構造器,用之構造一個對象,怎麼辦?
代碼如下:
//所有聲明的構造器
Constructor<?>[] cons = clazz.getDeclaredConstructors();
for (int i=0; i<cons.length; i++)
{
//什麼樣子?
System.out.println(cons[i]);
//找到沒有參數的那個,構造一個對象。
if (cons[i].toString().indexOf("()") >= 0)
{
try
{
return cons[i].newInstance();
}
catch (Exception e)
{
return null;
}
}
}
return null;