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 




 } 


}