Constructor
Class類的newInstance()方法是使用該類無參的構造函數創建對象, 如果一個類沒有無參的構造函數, 就不能這樣創建了,可以調用Class類的getConstructor(String.class,int.class)方法獲取一個指定的構造函數然后再調用Constructor類的newInstance("張三",20)方法創建對象
import java.lang.reflect.Constructor; import com.loaderman.bean.Person; public class Demo_Constructor { /** Class類的newInstance()方法是使用該類無參的構造函數創建對象, 如果一個類沒有無參的構造函數, 就不能這樣創建了,可以調用Class類的getConstructor (String.class,int.class)方法獲取一個指定的構造函數然后再調用Constructor類的newInstance ("張三",20)方法創建對象 @throws Exception */ public static void main(String[] args) throws Exception { Class clazz = Class.forName("com.loaderman.bean.Person"); //Person p = (Person) clazz.newInstance(); 通過無參構造創建對象 //System.out.println(p); Constructor c = clazz.getConstructor(String.class,int.class);//獲取有參構造 Person p = (Person) c.newInstance("張三",23); //通過有參構造創建對象 System.out.println(p); } }
package com.loaderman.bean; public class Person { private String name; private int age; public Person() { super(); } public Person(String name, int age) { super(); this.name = name; this.age = age; }