/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.lang.reflect.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
static class FinalFieldExample {
final int x;
static FinalFieldExample f;
public FinalFieldExample() {
anywhere(this);
x = 3;
}
static void writer() {
f = new FinalFieldExample();
}
static void anywhere
(FinalFieldExample anywhere
) { System.
out.
println(anywhere.
x); } }
{
FinalFieldExample.writer();
FinalFieldExample.anywhere(FinalFieldExample.f);
Field f
= FinalFieldExample.
class.
getDeclaredField("x"); f.setAccessible(true);
f.set(FinalFieldExample.f, 54);
FinalFieldExample.anywhere(FinalFieldExample.f);
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmxhbmcucmVmbGVjdC4qOwppbXBvcnQgamF2YS5pby4qOwoKLyogTmFtZSBvZiB0aGUgY2xhc3MgaGFzIHRvIGJlICJNYWluIiBvbmx5IGlmIHRoZSBjbGFzcyBpcyBwdWJsaWMuICovCmNsYXNzIElkZW9uZQp7CglzdGF0aWMgY2xhc3MgRmluYWxGaWVsZEV4YW1wbGUgeyAKICAgICAgICBmaW5hbCBpbnQgeDsKICAgICAgICBzdGF0aWMgRmluYWxGaWVsZEV4YW1wbGUgZjsKCiAgICAgICAgcHVibGljIEZpbmFsRmllbGRFeGFtcGxlKCkgewogICAgICAgIAlhbnl3aGVyZSh0aGlzKTsKICAgICAgICAgICAgeCA9IDM7IAogICAgICAgIH0gCgogICAgICAgIHN0YXRpYyB2b2lkIHdyaXRlcigpIHsKICAgICAgICAgICAgZiA9IG5ldyBGaW5hbEZpZWxkRXhhbXBsZSgpOwogICAgICAgIH0gCiAgICAgICAgCiAgICAgICAgc3RhdGljIHZvaWQgYW55d2hlcmUoRmluYWxGaWVsZEV4YW1wbGUgYW55d2hlcmUpIHsgU3lzdGVtLm91dC5wcmludGxuKGFueXdoZXJlLngpOyB9CiAgICB9CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKCQlGaW5hbEZpZWxkRXhhbXBsZS53cml0ZXIoKTsKCQkKCQlGaW5hbEZpZWxkRXhhbXBsZS5hbnl3aGVyZShGaW5hbEZpZWxkRXhhbXBsZS5mKTsKCQkKCQlGaWVsZCBmID0gRmluYWxGaWVsZEV4YW1wbGUuY2xhc3MuZ2V0RGVjbGFyZWRGaWVsZCgieCIpOwoJCWYuc2V0QWNjZXNzaWJsZSh0cnVlKTsKCQlmLnNldChGaW5hbEZpZWxkRXhhbXBsZS5mLCA1NCk7CgkJRmluYWxGaWVsZEV4YW1wbGUuYW55d2hlcmUoRmluYWxGaWVsZEV4YW1wbGUuZik7Cgl9Cn0=