/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
class Parent {
void show()
{
System.
out.
println("Parent's show()"); }
}
// Inherited class
class Child extends Parent {
// This method overrides show() of Parent
@Override
void show()
{
System.
out.
println("Child's show()"); }
}
// Driver class
class Main {
public static void main
(String[] args
) {
// If a Parent type reference refers
// to a Parent object, then Parent's
// show is called
Parent obj1 = new Parent();
obj1.show();
// If a Parent type reference refers
// to a Child object Child's show()
// is called. This is called RUN TIME
// POLYMORPHISM.
Child obj2 = new Child();
obj2.show();
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgpjbGFzcyBQYXJlbnQgewogICAgdm9pZCBzaG93KCkKICAgIHsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIlBhcmVudCdzIHNob3coKSIpOwogICAgfQp9CiAgCi8vIEluaGVyaXRlZCBjbGFzcwpjbGFzcyBDaGlsZCBleHRlbmRzIFBhcmVudCB7CiAgICAvLyBUaGlzIG1ldGhvZCBvdmVycmlkZXMgc2hvdygpIG9mIFBhcmVudAogICAgQE92ZXJyaWRlCiAgICB2b2lkIHNob3coKQogICAgewogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiQ2hpbGQncyBzaG93KCkiKTsKICAgIH0KfQogIAovLyBEcml2ZXIgY2xhc3MKY2xhc3MgTWFpbiB7CiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKQogICAgewogICAgICAgIC8vIElmIGEgUGFyZW50IHR5cGUgcmVmZXJlbmNlIHJlZmVycwogICAgICAgIC8vIHRvIGEgUGFyZW50IG9iamVjdCwgdGhlbiBQYXJlbnQncwogICAgICAgIC8vIHNob3cgaXMgY2FsbGVkCiAgICAgICAgUGFyZW50IG9iajEgPSBuZXcgUGFyZW50KCk7CiAgICAgICAgb2JqMS5zaG93KCk7CiAgCiAgICAgICAgLy8gSWYgYSBQYXJlbnQgdHlwZSByZWZlcmVuY2UgcmVmZXJzCiAgICAgICAgLy8gdG8gYSBDaGlsZCBvYmplY3QgQ2hpbGQncyBzaG93KCkKICAgICAgICAvLyBpcyBjYWxsZWQuIFRoaXMgaXMgY2FsbGVkIFJVTiBUSU1FCiAgICAgICAgLy8gUE9MWU1PUlBISVNNLgogICAgICAgIENoaWxkIG9iajIgPSBuZXcgQ2hpbGQoKTsKICAgICAgICBvYmoyLnNob3coKTsKICAgIH0KfQ==