Ich habe eine abstrakte Klasse, die einen Konstruktor hat, der varargs akzeptiert. Der Java-Compiler scheint nicht zu verlangen, dass untergeordnete Klassen super() aufrufen, obwohl jeder Konstruktor Argumente annimmt.Java: Wie man Unterklassen fordert, um super() aufzurufen, wenn das Argument von super ein vararg ist
public abstract class Parent {
public Parent(String... varargs) {
}
}
public class Child extends Parent {
// I would like this to be a compile error. Child should always call super().
}
Wie kann ich schreiben Parent
so dass die Kinder super()
nennen müssen?
Das ist, weil Kind abstrakt ist – JClassic
Jede Klasse, die Kind erweitert, muss einen Konstruktor haben, der Super() ruft – JClassic
Das abstrakte Schlüsselwort auf Child war ein Tippfehler - der Code kompiliert ohne es. – Sam