class Base {
public void Base() {
System.out.println ("Base - 1");
}
public Base() {
System.out.println ("Base - 2");
}
}
class Sub extends Base {
public void Sub() {
System.out.println ("Sub - 1");
}
public Sub() {
System.out.println ("Sub - 2");
super.Base();
}
}
public class Teste {
public static void main (String [] args) {
Base b = new Sub();
}
}
a - não compila
b - compila e roda, e lança runtime exception
c - compila, roda e imprime Base - 1, Base - 2. Sub - 2
d - compila, roda e imprime Base - 2, Base - 1. Sub - 2
e - compila, roda e imprime Base - 2, Sub - 2. Base - 2
f - compila, roda e imprime Base - 2, Sub - 2. Base - 1
g - nenhuma das anteriores
) tem o mesmo nome da classe