Ulfmann Geschrieben 8. Mai 2009 Teilen Geschrieben 8. Mai 2009 Hallo, ich hab ein Verständnisproblem in folgender Sache: Zitat aus einem JavaTutorial Der default-Konstruktor wird auch dann verwendet, wenn ein Objekt mit einem parameterlosen new-Aufruf erzeugt wird, in der Klasse aber neben parametrisierten Konstruktoren kein parameterloser Konstruktor definiert wurde. Das schien mir fraglich und ich probierte das aus: public class ClassA { public int var1; public int var2; public ClassA (int arg1, int arg2) { var1 = arg1; var2 = arg2; } } //----------------- public class ClassB { public static void main(String[] args) { ClassA obj = new ClassA(); } } Und wie ich mir dachte, meckert der Compiler bei der Objektinstanziierung, was wiederum heißen würde, die Aussage im Tutorial stimmt nicht (und der Default Konstruktor wird eben nicht aufgerufen, wenn ein parametrisierter Konstruktor definiert wurde). Eure Meinungen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 8. Mai 2009 Teilen Geschrieben 8. Mai 2009 Und wie ich mir dachte, meckert der Compiler bei der Objektinstanziierung, was wiederum heißen würde, die Aussage im Tutorial stimmt nicht (und der Default Konstruktor wird eben nicht aufgerufen, wenn ein parametrisierter Konstruktor definiert wurde). Du solltest Deine Quellen angeben, denn solche Aussagen sind so nicht haltbar. Quelle: Markt+Technik, Java 5, Seite 240 Dass bei der Definition eines eigenen Konstruktors kein Ersatzkonstruktor generiert wird, ist an sich kein Verlust. Wenn der von Ihnen definierte Konstruktor jedoch Parameter definiert, besitzt Ihre Klasse danach keinen Defaultkonstruktor Phil Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Ulfmann Geschrieben 8. Mai 2009 Autor Teilen Geschrieben 8. Mai 2009 Dann fühle ich mich durch deine Quelle bestätigt. Nachtrag zu meinem Zitat: 1997 Guido Krueger, "Java 1.1 lernen", Addison-Wesley, Bonn, 1997 Guido Krger - JAVA 1.1 lernen - Kapitel 7 Methoden Ist vielleicht nicht ganz das Aktuellste, fällt mir grad auf, aber das sollte kein Grund sein. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kingofbrain Geschrieben 8. Mai 2009 Teilen Geschrieben 8. Mai 2009 Ist vielleicht nicht ganz das Aktuellste, fällt mir grad auf, aber das sollte kein Grund sein. Ich habe jetzt kein zehn Jahre altes Java hier und weiß nicht, ob Guido Krüger früher recht hatte. In der aktuellen Ausgabe des Javabuchs ist die gleiche Stelle allerdings korrekt. Es macht also schon einen Unterschied, eine hoffnungslos veraltete Version eines Buchs zu lesen. Mein Tipp: lade Dir die aktuelle Version runter und arbeite mit der. Peter Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Ulfmann Geschrieben 8. Mai 2009 Autor Teilen Geschrieben 8. Mai 2009 Danke, mittlerweile hab ichs schon gelesen. Ich hab auch gar nicht darauf geachtet, von wann dieses Tutorial ist, weil ich das besagte Problem nur schnell nachgegoogled hab. Ursache hierfür war übrigens (jetzt werd ich mir hier Feinde machen), dass ich mich mit C# einarbeite(n muss, Berufsschule ist Schuld) und mich in diesem Zuge erneut mit den Grundkonzepten der Objektorientierung befasse. Und da die Ähnlichkeit dieser beiden Sprachen nicht ernsthaft zu leugnen ist - und ich wiederum in der C# Literatur auf dies Thema stieß - musste ich es gleich mal hier prüfen. Das nur am Rande :-) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kingofbrain Geschrieben 8. Mai 2009 Teilen Geschrieben 8. Mai 2009 Nö, Feinde machst Du Dir hier nicht, denke ich. Programmiersprachen sind keine Religion, sondern ein Werkzeug. In einem Gummihammerforum wird wahrscheinlich auch keiner Dich nicht mehr mögen, wenn Du mit einer Zimmermannshammerfrage kommst, weil die beiden ein ähnliches Bedienungsmuster haben. Peter Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
VaNaTiC Geschrieben 18. Mai 2009 Teilen Geschrieben 18. Mai 2009 Zu Java 1.1 Zeiten war das absolut korrekt und eine böse Stolperfalle Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.