動態加載類並實例化對象 —— newInstance


一、Class.forName("").newInstance();

1. Class.forName( )靜態方法的目的是為了動態加載類(初始化類)。在加載完成后,一般還要調用Class下的newInstance( )靜態方法來實例化對象以便操作。因此,單單使用Class.forName( )是動態加載類是沒有用的,其最終目的是為了實例化對象。

2. newInstance: 弱類型。低效率。只能調用無參構造。

    new: 強類型。相對高效。能調用任何public構造。

二、Class類的常用方法

1、getName()

以 String 的形式返回此Class對象所表示的實體(類、接口、數組類、基本類型或 void)名稱。

2、newInstance()

為類創建一個實例。例如:

xxx.getClass.newInstance(),創建了一個同x一樣類型的新實例。newInstance()方法調用默認構造器(無參數構造器)初始化新建對象。

Class.forName(c.getName()).newInstance();

3、getClassLoader()

返回該類的類加載器。

4、getComponentType()

返回表示數組組件類型的 Class。

5、getSuperclass()

返回表示此 Class 所表示的實體(類、接口、基本類型或 void)的超類的 Class。

6、isArray()

判定此 Class 對象是否表示一個數組類。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM