- 先同过Class t=Class.forName(“完整类名”) ,来获取类
2.Object o= t.getConstructor(Class…)通过getConstructor来获取类中的构造方法,参数是Class… 可变长度参数。 构造方法的方法名都相同所以不需要传方法名,二通过参数列表辨别不同。然后返回一个Object - 同过拿到的Object o 进行new对象 o.newInstance(Object… ) 进行传相应的参数
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
public class Test {
public static void main(String[] args) {
try {
Class tea=Class.forName("TTTT.Teacher01" );
Constructor c1= tea.getConstructor();
Object o= c1.newInstance();
System.out.println(o);
Constructor c2=tea.getConstructor(String.class);
System.out.println(c2.newInstance("东西"));
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}
}