class Exercise {
abstract static class Top {
}
}
static class Sub extends Top {
}
}
public static void main
(String[] args
) { Sub sub = new Sub();
Top top = sub;
String stringAsString
= "someString"; Object stringAsObject
= stringAsString
;
top.f(stringAsObject);
sub.f(stringAsObject);
sub.f(stringAsString);
top.f(stringAsString);
}
}
Y2xhc3MgRXhlcmNpc2UgewogIGFic3RyYWN0IHN0YXRpYyBjbGFzcyBUb3AgewogICAgcHVibGljIHZvaWQgZihPYmplY3QgbykgewogICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIlRvcCIpOwogICAgfQogIH0KCiAgc3RhdGljIGNsYXNzIFN1YiBleHRlbmRzIFRvcCB7CiAgICBwdWJsaWMgdm9pZCBmKFN0cmluZyBzKSB7CiAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiU3ViIik7CiAgICB9CiAgfQoKICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7CiAgICBTdWIgc3ViID0gbmV3IFN1YigpOwogICAgVG9wIHRvcCA9IHN1YjsKCiAgICBTdHJpbmcgc3RyaW5nQXNTdHJpbmcgPSAic29tZVN0cmluZyI7CiAgICBPYmplY3Qgc3RyaW5nQXNPYmplY3QgPSBzdHJpbmdBc1N0cmluZzsKCiAgICB0b3AuZihzdHJpbmdBc09iamVjdCk7CiAgICBzdWIuZihzdHJpbmdBc09iamVjdCk7CiAgICAKICAgIHN1Yi5mKHN0cmluZ0FzU3RyaW5nKTsKICAgIHRvcC5mKHN0cmluZ0FzU3RyaW5nKTsKICB9Cn0K