class Test {
public static void main
(String[] args
) { Foo f = new Foo();
// Would not compile: System.out.println(f.hi);
Foo.Bar b = f.method();
}
}
class Foo
{
public Bar method() {
return new Bar("b");
}
public class Bar
{
public String hi
= "Hi there";
public Bar
( String b
) { barbar
= b
; } }
class Meh
{
private void method() {
Bar b = new Bar("BAR!");
System.
out.
println( b.
barbar ); }
}
}
Y2xhc3MgVGVzdCB7CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7CgkJRm9vIGYgPSBuZXcgRm9vKCk7CgkJLy8gV291bGQgbm90IGNvbXBpbGU6IFN5c3RlbS5vdXQucHJpbnRsbihmLmhpKTsKCQlGb28uQmFyIGIgPSBmLm1ldGhvZCgpOwoJCVN5c3RlbS5vdXQucHJpbnRsbihiLmhpKTsKCX0KfQpjbGFzcyBGb28KewoJcHVibGljIEJhciBtZXRob2QoKSB7CgkJcmV0dXJuIG5ldyBCYXIoImIiKTsKCX0KCQogICAgcHVibGljIGNsYXNzIEJhcgogICAgewogICAgICAgIHByaXZhdGUgU3RyaW5nIGJhcmJhcjsKICAgICAgICAKICAgICAgICBwdWJsaWMgU3RyaW5nIGhpID0gIkhpIHRoZXJlIjsKCiAgICAgICAgcHVibGljIEJhciggU3RyaW5nIGIgKSB7IGJhcmJhciA9IGI7IH0KICAgIH0KCiAgICBjbGFzcyBNZWgKICAgIHsKICAgIAlwcml2YXRlIHZvaWQgbWV0aG9kKCkgewoJICAgICAgICBCYXIgYiA9IG5ldyBCYXIoIkJBUiEiKTsKCiAgICAJICAgIFN5c3RlbS5vdXQucHJpbnRsbiggYi5iYXJiYXIgKTsKICAgIAl9CiAgICB9Cn0=