Ovviamente non compila
codice:public class Main { public void pippo(A a) { System.out.println("PIPPO A"); } public void pippo(B b) { System.out.println("PIPPO B"); } class A {} class B {} interface I {} class C extends A implements I {} class D extends B implements I {} public static void main(String[] args) { Main m = new Main(); I i = m.new C(); m.pippo(i); i = m.new D(); m.pippo(i); } }