class Bay extends Lake{
public void method1(){
super.method2();
}
public void method2(){
}
}
class Pond{
public void method1(){
}
public void method2(){
}
public void method3(){
}
}
class Ocean extends Bay{
public void method2(){
}
}
class Lake extends Pond {
public void method3(){
method2();
}
}
class Exaple{
public static void main
(String args
[]){ Pond[] ponds = {new Ocean(), new Pond(), new Lake(), new Bay()};
for(Pond p : ponds){
p.method1();
p.method2();
p.method3();
}
}
}
Y2xhc3MgQmF5IGV4dGVuZHMgTGFrZXsKCnB1YmxpYyB2b2lkIG1ldGhvZDEoKXsKClN5c3RlbS5vdXQucHJpbnQoIkJheSAxICIpOwoKc3VwZXIubWV0aG9kMigpOwoKfQoKcHVibGljIHZvaWQgbWV0aG9kMigpewoKU3lzdGVtLm91dC5wcmludCgiQmF5IDIiKTsKCn0KCn0KCmNsYXNzIFBvbmR7CgpwdWJsaWMgdm9pZCBtZXRob2QxKCl7CgpTeXN0ZW0ub3V0LnByaW50KCJQb25kIDEiKTsKCn0KCnB1YmxpYyB2b2lkIG1ldGhvZDIoKXsKClN5c3RlbS5vdXQucHJpbnQoIlBvbmQgMiIpOwoKfQoKcHVibGljIHZvaWQgbWV0aG9kMygpewoKU3lzdGVtLm91dC5wcmludCgiUG9uZCAzIik7Cgp9Cgp9CgpjbGFzcyBPY2VhbiBleHRlbmRzIEJheXsKCnB1YmxpYyB2b2lkIG1ldGhvZDIoKXsKClN5c3RlbS5vdXQucHJpbnQoIk9jZWFuIDIiKTsKCn0KCn0KCmNsYXNzIExha2UgZXh0ZW5kcyBQb25kIHsKCnB1YmxpYyB2b2lkIG1ldGhvZDMoKXsKClN5c3RlbS5vdXQucHJpbnQoIkxha2UgMyIpOwoKbWV0aG9kMigpOwoKfQoKfQoKY2xhc3MgRXhhcGxlewoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nIGFyZ3NbXSl7CgkJUG9uZFtdIHBvbmRzID0ge25ldyBPY2VhbigpLCBuZXcgUG9uZCgpLCBuZXcgTGFrZSgpLCBuZXcgQmF5KCl9OwoKZm9yKFBvbmQgcCA6IHBvbmRzKXsKCnAubWV0aG9kMSgpOwoKU3lzdGVtLm91dC5wcmludGxuKCk7CgpwLm1ldGhvZDIoKTsKClN5c3RlbS5vdXQucHJpbnRsbigpOwoKcC5tZXRob2QzKCk7CgpTeXN0ZW0ub3V0LnByaW50bG4oIlxuIik7Cgp9Cgl9Cn0=