package com.pb.home;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
public class Test {
public static void main(String[] args){
// TODO Auto-generated method stub
Student stu=new Student();
try{
Class<?> classType=stu.getClass();
Field fieldName = classType.getDeclaredField("name");
Field fieldNumber = classType.getDeclaredField("number");
fieldName.setAccessible(true);
fieldNumber.setAccessible(true);
System.out.println(fieldName.get(stu));
System.out.println(fieldNumber.get(stu));
fieldName.set(stu, "ssDut");
fieldNumber.set(stu, 201491000);
System.out.println(fieldName.get(stu));
System.out.println(fieldNumber.get(stu));
Calculator ca=new Calculator(4,3);
classType=ca.getClass();
Method method = classType.getMethod("add", null);
// method.setAccessible(true);若该方法是私有的,则需要这句话;公有的则不需!!!!!!!
System.out.println( method.invoke(ca, null));
method = classType.getMethod("sub", null);
System.out.println(method.invoke(ca, null));
}catch(Exception e){
e.printStackTrace();
}
}
}