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;
}
