abstract java-Konstruktor
Wie bekomme ich die sub-Konstruktor aus der zweiten und Dritten?
Da
public abstract erste nicht funktioniert?
public abstract class First {
public Point position;
public First() {} //how do i make this constructor like an abstract?
//so that it will go get Second constructor or Third
}
public class Second extends First {
public Second (Point x) {
position = x;
}
}
public class Third extends First {
public Third(Point x) {
position = x;
}
}
Siehe hier: http://stackoverflow.com/a/260755/1083946
InformationsquelleAutor Bohn | 2012-11-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Java nicht zulassen, dass Sie Zugriff auf den Konstruktor der konkreten Klasse abgeleitet von der abstrakten Klasse von der abstrakten Klasse. Sie können jedoch auch den super-Klassen (abstrakte Klasse) - Konstruktor, von der konkreten Klasse.
hoffe, dass es einigen geholfen hat, macht das Beispiel helfen? Haben Sie andere Fragen?
InformationsquelleAutor Kevin Bowersox
Beim erstellen einer
Second
oderThird
Objekt, muss der Programmierer verwenden Sie einen der Konstruktoren definiert für diese Klasse.First
Konstruktor wird implizit genannt, wenn Sie tun es nicht explizit mitsuper
. Keine Notwendigkeit, um es Abstrakt, können Sie entweder lassen Sie es leer, oder eben nicht definieren (Java davon aus, dass der implizite Standard-Konstruktor, der keine Argumente hat und führt keine Aktionen).Wenn die
First
Klasseabstract
Sie können keine Instanz von Ihr (das ist, was bedeutetabstract
). So werden Sie nicht in der Lage, das zu tunnew First()
, was die Parameter sind. Wenn Sie definieren, eine nicht-Standard-Konstruktor (ein Konstruktor mit Parametern) und nicht definiert den default-Konstruktor (ohne Parameter), müssen Sie explizit aufrufen mit super(x, y) aus den Unterklassen-Konstruktoren.InformationsquelleAutor SJuan76