天天看點

JAVA使用類得到構造器并構造一個對象

  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;