java最简单的反射实例




package com.cgm.invokeclass;

public class Teacher {

int num=0;

public Teacher(int num){this.num=num;}


public void talk(){
System.out.println("laoshi zai jiang"+num);
}
     
}

测试类

package com.cgm.invokeclass;

import java.lang.reflect.Method;

public class ProxyDemo {
public static void main(String[] args) throws Exception {
Teacher t1=new Teacher(1);
Teacher t2=new Teacher(2);
Teacher t3=new Teacher(3);
Teacher t4=new Teacher(4);
    Method  m1=t1.getClass().getMethod("talk");
m1.invoke(t3);  // laoshi zai jiang3 反射 谁调用就执行谁的方法   
t1.talk();
Class  c=Teacher.class;
     System.out.println(t1==t2);  //false
   System.out.println(t1.getClass()==t2.getClass());   // 尽管对象不一样 都是同一个类true
System.out.println(c==t1.getClass());  //尽管对象不一样 都是同一个类true



}

}

你可能感兴趣的:(java)