----------------------------------------------------------------------------
Reflect
//反射加载某个类Person
public class ReflectClass{
public static void main(String[] args){
//把硬盘上的字节码加载到内存中,在内存中就有一个clazz对象保存了
//解剖构造函数,并创建类的对象
public class Demo{
//反射构造函数public Person(){}
@Test
public void test() throws Exception{
Class clazz1=Class.forName("Person");
Constructor c=clazz1.getConstructor(null);//参数控制你想解剖出哪个构造函数
Person p1=(Person)c.newInstance(null);
System.out.println(p1.name);
}
//反射构造函数public Person(String name)
@Test
public void test2() throws Exception{
Class clazz1=Class.forName("Person");
Constructor c=clazz1.getConstructor(String.class);//参数控制你想解剖出哪个构造函数
Person p1=(Person)c.newInstance("name");
System.out.println(p1.name);
}
//反射构造函数public Person(String name,int password)
@Test
public void test2() throws Exception{
Class clazz1=Class.forName("Person");
Constructor c=clazz1.getConstructor(String.class,Integer.class);//参数控制你想解剖出哪个构造函数
Person p1=(Person)c.newInstance("name",1900);
System.out.println(p1.name);
}
//反射构造函数public Person(List list)
@Test
public void test2() throws Exception{
Class clazz1=Class.forName("Person");
Constructor c=clazz1.getConstructor(List.list);//参数控制你想解剖出哪个构造函数
//关键代码-暴力反射
c.setAccessible(true);
Person p1=(Person)c.newInstance(new ArrayList());
System.out.println(p1.name);
//面试题:私有的不能访问,但反射可以实现访问。c.setAccessible(true);
//创建对象的另外一种途径
Class clazz=Class.forName("Person");
Person p=(Person)clazz.newInstance();
//反射出类的无参构造函数创建对象,意味着类中必须有无参的构造方法
System.out.println(p);
}
//反射Method执行方法
public void aa(){
System.out.println("");
}
public void aa(String name){
System.out.println(name);
}
public Class[] aa(String name,int[] password){
System.out.println(name+);
return new Class[](String.class);
}
private void aa(InputStream in){
System.out.println("in");
}
publiic static aa(){
System.out.println("static");
}
//反射代码
public class Demo{
//public void a(){}
@Test
Person p=new Person();
public void test(){
Class clazz=Class.forName("Person");
Method method=clazz.getMethod(null);
//import java.lang.reflect.Method