Hallo zusammen,
Obwohl ich super(o); im Konstruktor Y entferne (Zeile 14), kompiliert das Programm und gibt das Richtige aus. Warum darf man das? Ich dachte, super muss immer vorhanden sein, solange es eine Vererbung gibt.
Obwohl ich super(o); im Konstruktor Y entferne (Zeile 14), kompiliert das Programm und gibt das Richtige aus. Warum darf man das? Ich dachte, super muss immer vorhanden sein, solange es eine Vererbung gibt.
Java:
class X {
public X m(){
return new X(this);
}
public X(){}
public X(X o){}
}
class Y extends X{
public Y m(){
return new Y(this);
}
public Y(){}
public Y(Y o) { super(o);}
}
class Test{
public static void main(String [] args){
Y y1 = new Y();
Y y2 = new Y(y1);
System.out.println(y1.equals(y2));
}
}