class Sample
{
public static void main
(String[] args
) {
Derived foo = new Derived();
Base bar = foo;
System.
out.
println("Derived foo: " + foo.
name); System.
out.
println("Base bar: " + bar.
name); }
}
abstract class Base {
public static String name
= "Base"; }
class Derived extends Base {
public static String name
= "Derived"; }
Y2xhc3MgU2FtcGxlCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKQoJewoJCURlcml2ZWQgZm9vID0gbmV3IERlcml2ZWQoKTsKICAgICAgICBCYXNlIGJhciA9IGZvbzsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIkRlcml2ZWQgZm9vOiAiICsgZm9vLm5hbWUpOwogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiQmFzZSBiYXI6ICIgKyBiYXIubmFtZSk7Cgl9Cn0KCmFic3RyYWN0IGNsYXNzIEJhc2UgewogIHB1YmxpYyBzdGF0aWMgU3RyaW5nIG5hbWUgPSAiQmFzZSI7Cn0KCmNsYXNzIERlcml2ZWQgZXh0ZW5kcyBCYXNlIHsKICBwdWJsaWMgc3RhdGljIFN0cmluZyBuYW1lID0gIkRlcml2ZWQiOwp9