package test3;
interface MethodRedirect2SupIntf {
int foo();
int bar();
int bar2();
}
interface MethodRedirect2Intf extends MethodRedirect2SupIntf {
int bar2();
}
class MethodRedirect2SupSup {
public int bfo() { return 100; }
public int bfo2() { return 200; }
}
class MethodRedirect2Sup extends MethodRedirect2SupSup {
public int afo() { return 10; }
public int afo2() { return 20; }
public int bfo() { return 300; }
}
public class MethodRedirect2 extends MethodRedirect2Sup implements MethodRedirect2Intf {
public int foo() { return 1; }
public int bar() { return 2; }
public int bar2() { return 3; }
public int test(MethodRedirect2Intf intf, MethodRedirect2 clazz,
MethodRedirect2SupSup sup)
{
return intf.bar() + intf.bar2() + clazz.afo() + clazz.bfo() + sup.bfo();
}
public int test() {
MethodRedirect2 obj = new MethodRedirect2();
return test(obj, obj, obj);
}
public static void main(String[] args) {
System.out.println(new MethodRedirect2().test());
}
}