//Class.forName("全类名") Class cls1=Class.forName("cn.ywrby.domain.Person"); System.out.println(cls1); //类名.class Class cls2= Person.class; System.out.println(cls2); //对象.getClass() Person person=new Person(); Class cls3=person.getClass(); System.out.println(cls3);
/* 运行结果 public int cn.ywrby.domain.Person.num -------------------- 80 -------------------- private java.lang.String cn.ywrby.domain.Person.name private int cn.ywrby.domain.Person.age public int cn.ywrby.domain.Person.num -------------------- ywrby */
//首先获取Person的Class对象 Class personClass = Person.class; //获取指定方法,第一个参数是方法名,后续参数的方法的参数列表类型 Method method = personClass.getDeclaredMethod("MessageOfPerson", int.class); //执行方法 Person person = new Person("ywrby", 19, 95); method.invoke(person, 5); //利用invoke执行方法,第一个参数是类对象,后续不定参是方法实参列表 //方法对象还可以直接获取名称,利用getName()方法 } }
/* name is ywrby, age is 19, num is 95 name is ywrby, age is 19, num is 95 name is ywrby, age is 19, num is 95 name is ywrby, age is 19, num is 95 name is ywrby, age is 19, num is 95 */