要反射的类
package com.xiaozhi.reflect;
import java.io.InputStream;
import java.util.List;
public class Person {
private String name;
private int password;
public Person() {
System.out.println("无参构造函数");
}
public Person(String name) {
this.name = name;
System.out.println("一个参数的构造函数"+name);
}
public Person(String name, int password) {
this.name = name;
this.password = password;
System.out.println("两个参数的构造函数"+name+":"+password);
}
private Person(List list){
System.out.println("私有构造函数");
}
public void aa1(){
System.out.println("aa1");
}
public void aa1(String name,int password){
System.out.println("name= "+name+" password="+password);
}
public Class[] aa1(String name,int[] password){
return new Class[]{String.class};
}
private void aa1(InputStream in){
System.out.println(in);
}
public static void aa1(int num){
System.out.println(num);
}
public static void main(String []args){
System.out.println("main");
}
}
反射构造函数
getConstructor(构造函数的参数)
package com.xiaozhi.reflect;
import java.lang.reflect.Constructor;
import java.util.ArrayList;
import java.util.List;
public class Test {
public static void main(String[] args) throws Exception {
//加载类的字节码的三种方法
// Class clazz=Class.forName("com.xiaozhi.reflect.Person");
// Class clazz=new Person().getClass();
// Class clazz=Person.class;
//无参的构造函数
// Class clazz=Class.forName("com.xiaozhi.reflect.Person");
// Constructor constructor=clazz.getConstructor(null);
// Person person=(Person) c