/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
public interface Fruit {
public void apple();
}
Fruit interfaceFruit;
public void apple(){
if (interfaceFruit != null) {
interfaceFruit.apple();
}
}
public void setFruit(Fruit f) {
interfaceFruit = f;
}
{
Ideone test = new Ideone(){
@Override
public void apple() {
System.
out.
println("local override of apple"); }
};
test.apple();
Ideone test2 = new Ideone();
test2.apple();
test2.setFruit(new Fruit() {
@Override
public void apple() {
System.
out.
println("interface override of apple"); }
});
test2.apple();
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBpbnRlcmZhY2UgRnJ1aXQgewoJCXB1YmxpYyB2b2lkIGFwcGxlKCk7Cgl9CgkKCUZydWl0IGludGVyZmFjZUZydWl0OwoJCglwdWJsaWMgdm9pZCBhcHBsZSgpewoJCVN5c3RlbS5vdXQucHJpbnRsbigiYXBwbGUiKTsKCQlpZiAoaW50ZXJmYWNlRnJ1aXQgIT0gbnVsbCkgewoJCQlpbnRlcmZhY2VGcnVpdC5hcHBsZSgpOwoJCX0KCX0KCQoJcHVibGljIHZvaWQgc2V0RnJ1aXQoRnJ1aXQgZikgewoJCWludGVyZmFjZUZydWl0ID0gZjsKCX0KCQoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBqYXZhLmxhbmcuRXhjZXB0aW9uCgl7CgkJSWRlb25lIHRlc3QgPSBuZXcgSWRlb25lKCl7CgkJCUBPdmVycmlkZQoJCQlwdWJsaWMgdm9pZCBhcHBsZSgpIHsKCQkJCVN5c3RlbS5vdXQucHJpbnRsbigibG9jYWwgb3ZlcnJpZGUgb2YgYXBwbGUiKTsKCQkJfQoJCX07CgkJU3lzdGVtLm91dC5wcmludGxuKCIxKSAtLS0iKTsKCQl0ZXN0LmFwcGxlKCk7CgkJCgkJCgkJSWRlb25lIHRlc3QyID0gbmV3IElkZW9uZSgpOwoJCVN5c3RlbS5vdXQucHJpbnRsbigiMikgLS0tIik7CgkJdGVzdDIuYXBwbGUoKTsKCQkKCQl0ZXN0Mi5zZXRGcnVpdChuZXcgRnJ1aXQoKSB7CgkJCUBPdmVycmlkZQoJCQlwdWJsaWMgdm9pZCBhcHBsZSgpIHsKCQkJCVN5c3RlbS5vdXQucHJpbnRsbigiaW50ZXJmYWNlIG92ZXJyaWRlIG9mIGFwcGxlIik7CgkJCX0KCQl9KTsKCQlTeXN0ZW0ub3V0LnByaW50bG4oIjMpIC0tLSIpOwoJCXRlc3QyLmFwcGxlKCk7Cgl9Cn0=