class Person {
public final String name = "Mike";
}
public static void modify(Object object, String fieldName, Object newFieldValue) throws Exception {
Field field = object.getClass().getDeclaredField(fieldName);
Field modifiersField = Field.class.getDeclaredField("modifiers");
modifiersField.setAccessible(true); //Field 的 modifiers 是私有的
modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL);
if(!field.isAccessible()) {
field.setAccessible(true);
}
field.set(object, newFieldValue);
}
Person person = new Person(); modify(person, "name", "Michael"); System.out.println(person.name); //输出仍然是 Mike
public String getName() {
return name;
}
public final String name = new String("Mike");
modify(person, "name", "Michael"); System.out.println(person.name) //输出就是 Michael 了
public class TestFinal {
public static void main(String[] args) throws Exception {
Person jordan = new Person("Chicago");
modify(jordan , "firstName", "Michael");
System.out.println(jordan .firstName); //Mike
modify(jordan , "lastName", "Michael");
System.out.println(jordan.lastName); //Michael
modify(jordan , "age", 51f);
System.out.println(jordan .age); //50.5
modify(jordan , "height", 1.98f);
System.out.println(jordan.height); //1.98
modify(jordan, "address", new Address("ccc", "ddd"));
System.out.println(jordan.address.line1); //ccc
modify(jordan , "city", "Miami");
System.out.println(jordan.city); //Miami
}
}
class Person {
public final String firstName = "Mike";
public final String lastName = new String("Jordan"); //可被有效修改
public final float age = 50.5f;
public final Float height = 1.99f; //可被有效修改
public final Address address = new Address("aaa", "bbb"); //可被有效修改
public final String city; //可被有效修改
public Person(String city) {
this.city = city;
}
}
final class Address {
public final String line1;
public final String line2;
public Address(String line1, String line2) {
this.line1 = line1;
this.line2 = line2;
}
}
private static Logger log = LoggerFactory.getLogger(TestFinal.class);
private static final Logger log = LoggerFactory.getLogger(TestFinal.class);
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有