1.實例說明
new 一個物件是實例,可以把這個new出來的物件叫做實例,說白了就是這個new出來的“東西”,叫它物件也可以,叫它實例也可以,物件和實例在這個角度上來講是等價的。
2.建立空參的實例。 使用Class物件的newInstance()方法來建立Class物件對應類別的實例。
//原始:new的時候,先根據被new的類別的名稱尋找該類別的字節碼文件,並加載進內存,
//並創建該字節碼檔案對象,並接著建立該位元組檔案對應的Person對象。
Person p = new Person(); //反射:找寻该类的名称,并加载进内存,并产生Class对象 //在产生类的对象 Strint className = "com.example.hgx.Person"; Class clazz = Class.forName(className); Object obj = clazz.newInstance();
3.建立帶有參數的實例。 這時要透過Class物件取得指定的Constructor對象,再呼叫Constructor物件的newInstance()方法來建立實例。
class Person { public String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } } //获取Person类带一个(String,int)参数的构造器 Strint className = "com.example.hgx.Person"; Class clazz = Class.forName(className); Constructor constructor = clazz.getConstructor(String.class,int.class);
以上是java反射方式如何創建的詳細內容。更多資訊請關注PHP中文網其他相關文章!