Ist es unnötig, super () in Konstruktor zu setzen?
Nicht das man automatisch durch den compiler, wenn ich nicht in einer Unterklasse den Konstruktor?
Bedeutet das, dass ich nicht selbst kümmern müssen? In einigen Artikeln, die Sie setzen es aus.
Und wenn habe ich einen Konstruktor mit Argumenten, wird das der Konstruktor, oder dauert es ein Konstruktor, der ohne argument-Liste?
InformationsquelleAutor der Frage ajsie | 2010-01-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zunächst ein wenig Terminologie:
Also alle Klassen verfügen über mindestens einen Konstruktor.
Unterklassen-Konstruktoren kann angeben, wie das erste, was Sie tun, die der Konstruktor in der Superklasse aufrufen, vor der Ausführung den code in der Unterklasse den Konstruktor.
Wenn die Unterklasse den Konstruktor nicht angeben, welche superclass-Konstruktor aufrufen, dann wird der compiler automatisch den Aufruf der erreichbaren no-args-Konstruktor in der Oberklasse.
Wenn die Oberklasse hat keine no-arg-Konstruktor oder es ist es nicht zugänglich ist dann nicht die Angabe der superclass-Konstruktor aufgerufen werden (im Konstruktor der Unterklasse) ist ein compiler-Fehler, so dass es muss angegeben werden.
Beispiel:
Dies ist gut, denn wenn Sie keinen Konstruktor explizit Java setzt sich in einen öffentlichen default-Konstruktor für Sie.
Auch in Ordnung.
Oben ist ein Kompilierungsfehler, wie die Basisklasse keinen default-Konstruktor.
Dies ist auch ein Fehler, weil die Basis-no-args-Konstruktor ist private.
InformationsquelleAutor der Antwort cletus
Wenn die super-Klasse-Konstruktor keine Argumente hat Java ruft automatisch für Sie. Wenn es Argumente, die Sie erhalten eine Fehlermeldung.
src: http://java.sun.com/docs/books/tutorial/java/IandI/super.html
InformationsquelleAutor der Antwort lemon
Aufrufen die Nein-Argumente, die super-Konstruktor ist nur eine Verschwendung von Platz auf dem Bildschirm und Programmierer Zeit. Der compiler erzeugt exakt den gleichen code, egal ob Sie schreiben oder nicht.
InformationsquelleAutor der Antwort Roland Illig
Default parent-Konstruktor aufgerufen wird vom Kind default-Konstruktor, auch wenn Sie nicht nennen es.
Main
Einen
B
Drucke
InformationsquelleAutor der Antwort Yan Khonski
Wenn Ihr Methode überschreibt eine seiner Oberklasse die Methoden, die Sie aufrufen können die überschriebene Methode durch Verwendung des Schlüsselworts super.
Die syntax für den Aufruf einer superclass-Konstruktor
Mit super () der Superklasse no-argument-Konstruktor aufgerufen wird. Mit super(parameter-Liste), der superclass-Konstruktor mit einer entsprechenden Parameterliste aufgerufen.
Hinweis: Wenn Sie einen Konstruktor nicht explizit aufrufen einer superclass-Konstruktor, der Java-compiler fügt automatisch einen Anruf zu der no-argument-Konstruktor der Oberklasse. Wenn die super-Klasse nicht über einen no-argument-Konstruktor, erhalten Sie einen Kompilierungsfehler. Objekt nicht haben, wie ein Konstruktor, so dass, wenn ein Objekt nur Superklasse, ist es kein problem.
InformationsquelleAutor der Antwort giri
Jede Klasse Konstruktor ruft immer "super ()", wenn es nicht explizit aufgerufen super([Argumente]), nur beachten wir auch den Zugang von super-Klasse-Konstruktor, während der Programmierung...
wenn wir nicht erweitert jede spezifische Klasse automatische extends java.lang.Objekt-Klasse
InformationsquelleAutor der Antwort Dharmendrasinh Chudasama
Wenn super Klasse kann ein No-args-Konstruktor .Es ist gut zu haben einen no-argument-Konstruktor ansonsten müssen Sie pass super-Konstruktor mit parameter .
Wenn die Oberklasse hat keine no-arg-Konstruktor oder es ist es nicht zugänglich ist dann nicht die Angabe der superclass-Konstruktor aufgerufen werden (im Konstruktor der Unterklasse) ist ein compiler-Fehler, so dass es angegeben werden muss
}
InformationsquelleAutor der Antwort abhishek ringsia