interface I
{
public void test();
}
class A implements I
{
public void test
() { System.
out.
println("A\n"); } }
class B extends A
{
public void test
() { System.
out.
println("B\n"); } }
public class Main
{
public static void main
(String[] args
) {
Main.doTest(new B());
}
public static void doTest(I i)
{
i.test();
}
}
aW50ZXJmYWNlIEkKewogIHB1YmxpYyB2b2lkIHRlc3QoKTsKfQoKY2xhc3MgQSBpbXBsZW1lbnRzIEkKewogIHB1YmxpYyB2b2lkIHRlc3QoKSB7IFN5c3RlbS5vdXQucHJpbnRsbigiQVxuIik7IH0KfQoKY2xhc3MgQiBleHRlbmRzIEEKewogIHB1YmxpYyB2b2lkIHRlc3QoKSB7IFN5c3RlbS5vdXQucHJpbnRsbigiQlxuIik7IH0KfQoKcHVibGljIGNsYXNzIE1haW4KewogIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpCiAgewogICAgTWFpbi5kb1Rlc3QobmV3IEIoKSk7CiAgfQogIHB1YmxpYyBzdGF0aWMgdm9pZCBkb1Rlc3QoSSBpKQogIHsKICAgIGkudGVzdCgpOwogIH0KfQo=