需要用到的类: Field
需要用到的方法:
getDeclaredField();
getField();
setAccessible();
需要用到的字段:
public int a=5;
public final int b=5;
private final int c=5;
private static final Integer d=5;
private static final int e=5;
修改字段的值时,需要根据字段的访问限制来更改访问权限。
以下是修改a和b的代码:
ClassB classB=new ClassB();
Field field = ClassB.class.getField("a");
System.out.println(field.get(classB));
field.setInt(classB,10);
System.out.println(field.get(classB));
结果如下:
以下是修改c的代码:
ClassB classB=new ClassB();
Field field = ClassB.class.getDeclaredField("c");
field.setAccessible(true);
System.out.println(field.get(classB));
field.setInt(classB,10);
System.out.println(field.get(classB));