Reflection. Change private final field
From AsIsWiki
Change private final field
import java.lang.reflect.Field; public class Main { public static void main(String[] args) throws Exception { A a = new A("123"); System.out.println(a.getStr()); Field field = a.getClass().getDeclaredField("str"); field.setAccessible(true); field.set(a, "321"); System.out.println(a.getStr()); } } class A { private final String str; public A(String str) { this.str = str; } public String getStr() { return str; } }