Objektorientierung-Kurze Frage

TaxiDriver

Mitglied
Hi,
ich versteh nicht warum hier 0 ausgegeben wird. Hätte 42,0 gedacht.

Code:
public class Punkt{
    public int x;
    public int y;

public Punkt(int x, int y){
    this.x = x;
    this.y =y;}

public Punkt(int x){
    this(x,0);}

}

Main:
Code:
punkt p1 = new Punkt(42);
sout(p1.x+", "+p1.y);

Und wozu brauche ich
public Punkt(int x){
this(x,0);
?
Geht doch auch einfach nur mit punkt p1 = new Punkt(irgendwas,irgendwas); Oder nicht? Dann mit toString?
Danke
 

Tarrew

Top Contributor
Da wird auch 42,0 ausgegeben:
C33Hg.png


Und ja du kannst den Konstruktor auch mit 2 Parametern aufrufen.
Wenn du nur einen Parameter übergibst wird intern der Konstruktor mit den 2 Parametern übergeben und der y-Wert einfach auf 0 gesetzt, wie du ja schon erkannt hattest.

Und was ist mit toString() ??
 

TaxiDriver

Mitglied
Hätte ich ja auch mal selber testen können :). Hab der Lösung vertraut.

Nochmal zum Verständnis.
Wenn ich 2 Parameter bzw. alle mit new übergebe brauche ich nur den einen folgenden Konstruktor?
Code:
public Punkt(int x, int y){
    this.x = x;
    this.y =y;}


Wenn ich nur einen Wert übergebe brauche ich zusätzlich:
Code:
public Punkt(int x){
this(x,0);
?


Und toString brauche ich doch für die Ausgabe bei:
Code:
public Punkt(int x, int y){
    this.x = x;
    this.y =y;}

Punkt p1 = new Punkt(1,2)
?
 
Zuletzt bearbeitet:

Khal Drogo

Bekanntes Mitglied
Probier doch aus, was passiert, wenn du
Java:
public Punkt(int x) {...}
löschst und dann den Konstruktor mit einem Parameter aufrufst.
An der Stelle, die du uns hier zitierst, kommt keine Ausgabe vor, dementsprechend hast du da auch nichts mit toString() zu tun.

Mit freundlichen Grüßen
Xelsarion
 

JStein52

Top Contributor
Wenn du nun folgendes machen willst:

Java:
System.out.println("MeinPunkt: "+p1);

dann brauchst du die toString weil du anderenfalls einfach nur eine kryptische Adresse ausgegebn kriegst.
Probiere es mal aus, ohne toString und dann mit toString. Dann wirst du erkennen was die macht
 
Zuletzt bearbeitet von einem Moderator:

Joose

Top Contributor
Code:
public Punkt(int x, int y){
    this.x = x;
    this.y =y;}

Code:
public Punkt(int x){
this(x,0);}

Theoretisch könntest du den Code auch wie folgt schreiben:
Code:
public Punkt(int x, int y){
    this.x = x;
    this.y =y;}

public Punkt(int x){
    this.x = x;
    this.y = 0; }

Der Code hat aber den Nachteil das X nun in 2 Konstruktoren gesetzt wird. Was das loggen und debuggen etwas erschwert (weil das nun an 2 Stellen erledigt werden muss).
Auch kann es sein der Parameter x noch geprüft wird bevor er gesetzt wird. So müsste die Prüfung wieder an 2 Stellen passieren. Wenn man dann mal vergisst eine Änderungen an eine der Stellen nachzuziehen funktioniert vielleicht das Programm ganz anders.

Daher ist es immer ratsam mittels "this" (oder "super" für abgeleitete Klassen) einen anderen Konstruktor aufzufrufen um an möglichst wenig stellen Werte zu setzen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Kerstininer Vererbung Hilfe beim lernen von Objektorientierung für eine Klausur Java Basics - Anfänger-Themen 10
L Einführung Objektorientierung Java Basics - Anfänger-Themen 8
L Einstieg Objektorientierung Java Basics - Anfänger-Themen 10
H Wie geht eigentlich Objektorientierung? Java Basics - Anfänger-Themen 14
L Objektorientierung Java Basics - Anfänger-Themen 6
B Objektorientierung Java Basics - Anfänger-Themen 1
M Array und Objektorientierung? - TicTacToe Spiel Java Basics - Anfänger-Themen 43
L Hilfe! Objektorientierung Java Basics - Anfänger-Themen 3
S OOP Zusammenhang von Objektorientierung und Ausnahmebehandlungen Java Basics - Anfänger-Themen 6
C Objektorientierung? Java Basics - Anfänger-Themen 5
G Designfrage/Objektorientierung Java Basics - Anfänger-Themen 19
S Methoden Aufgabe zu ""Methoden" und "Objektorientierung" Java Basics - Anfänger-Themen 3
B OOP Programm zur Verdeutlichung von Objektorientierung Java Basics - Anfänger-Themen 7
T Initialisierungen der einzelnen Klassen - Objektorientierung Java Basics - Anfänger-Themen 4
B Objektorientierung Java Basics - Anfänger-Themen 2
W Einstieg Objektorientierung Java Basics - Anfänger-Themen 4
X Objektorientierung Einführung Java Basics - Anfänger-Themen 2
A Objektorientierung Klassen Java Basics - Anfänger-Themen 4
D Objektorientierung / Polymorphismus Java Basics - Anfänger-Themen 8
Spin Objektorientierung . Konzept Java Basics - Anfänger-Themen 4
M Objektorientierung Java Basics - Anfänger-Themen 3
M Objektorientierung - wie macht man's richtig? Java Basics - Anfänger-Themen 3
R ObjektOrientierung Java Basics - Anfänger-Themen 18
D Objektorientierung ? Java Basics - Anfänger-Themen 4
D Objektorientierung Listen Java Basics - Anfänger-Themen 2
J objektorientierung und uml Java Basics - Anfänger-Themen 5
D Objektorientierung - wie konsequent sollte man sein ? Java Basics - Anfänger-Themen 30
D Zuerst Objektorientierung oder GUI ? Java Basics - Anfänger-Themen 19
F Kurze Frage zu replace() Java Basics - Anfänger-Themen 19
Vivien Kurze Verständnisfrage zu Java Point aus java.awt.* Java Basics - Anfänger-Themen 5
dieter000 Kurze Frage kann mir ejmand kurz diesen Code erklären, bzw wie man die zeilen erklärt und so Java Basics - Anfänger-Themen 1
JD_1998 Array-Position aus einer Methode in einer anderen ausgeben (Kurze Frage) Java Basics - Anfänger-Themen 2
M Rationale Zahl erkennen - Kurze Frage zum Restwert nach Division Java Basics - Anfänger-Themen 3
S Kurze Verständnissfrage Java Basics - Anfänger-Themen 4
L Kurze Frage... Java Basics - Anfänger-Themen 2
C Kurze Frage zur Polymorphie Java Basics - Anfänger-Themen 1
B Rekursion Schneeflocke - Kurze Frage zur Methode Java Basics - Anfänger-Themen 11
TechGirl LinkedList - kurze allgemeine Frage Java Basics - Anfänger-Themen 17
L Kurze Frage zu verschachtelten Schleifen Java Basics - Anfänger-Themen 3
D Compiler-Fehler kurze Frage (Fehler): runde Klammern im Println Java Basics - Anfänger-Themen 3
N Kurze Hilfe !! Java Basics - Anfänger-Themen 3
A 2 kurze Anfänger fragen Java Basics - Anfänger-Themen 6
M Baum Code kurze frage ... Java Basics - Anfänger-Themen 6
M kurze frage zu meinem Code ... Java Basics - Anfänger-Themen 3
T Kurze Frage zu Arrays Java Basics - Anfänger-Themen 4
S Java - Client/Server mit Stomp kurze Frage Java Basics - Anfänger-Themen 0
T Eine kurze frage vor der prüfung bitte. Java Basics - Anfänger-Themen 5
X Kurze Frage zu Java Doc Java Basics - Anfänger-Themen 3
G Kurze Frage zu Arrays Java Basics - Anfänger-Themen 3
G Warteschlange/Reihungen kurze syntaktische Frage Java Basics - Anfänger-Themen 2
J Erste Schritte Kurze Frage zu Listenern und If-Bedingung Java Basics - Anfänger-Themen 2
B Methoden Tricky, kurze Schreibweise? Java Basics - Anfänger-Themen 3
M Kurze Verständnisfrage zu einer Java Aufgabe Java Basics - Anfänger-Themen 12
S Erste Schritte HashMap Kurze Frage - Werte über Schleife ausgeben Java Basics - Anfänger-Themen 30
M kurze frage: Ohne index.of position von string angeben Java Basics - Anfänger-Themen 16
V Ganz kurze Java-Hilfe - Ich finde meinen Fehler nicht Java Basics - Anfänger-Themen 4
R Kurze Linien alle x-Pixel Java Basics - Anfänger-Themen 2
A Methoden Langer Text, kurze Frage Java Basics - Anfänger-Themen 10
S Kurze Frage zur Effizienz: Java Basics - Anfänger-Themen 4
R Kurze Ouelltext frage Java Basics - Anfänger-Themen 3
U ArrayList kurze Einführung Java Basics - Anfänger-Themen 3
2 Datentypen Kurze Schreibform bei ArrayList (Vs String Array) Java Basics - Anfänger-Themen 6
M kurze Frage zu Graphics Java Basics - Anfänger-Themen 5
P OOP 3 kurze Fragen Java Basics - Anfänger-Themen 2
J Benötige kurze Definition zum Programm Java Basics - Anfänger-Themen 2
Screen Kurze Frage Umwandlung von Zahlen Java Basics - Anfänger-Themen 2
J Math.random() - kurze frage. Java Basics - Anfänger-Themen 20
S Kurze Frage zum Ergebniss Java Basics - Anfänger-Themen 5
R klausurvorbereitung uni HILFE!! kurze fragen,kurze antworten Java Basics - Anfänger-Themen 9
A kurze frage zu arrays und deren zuweisung Java Basics - Anfänger-Themen 11
J Kurze Frage zur Primzahlberechnung Java Basics - Anfänger-Themen 8
B kurze Frage if(!) Java Basics - Anfänger-Themen 19
D 2 kurze Fragen Java Basics - Anfänger-Themen 5
K Kurze Frage zur Sortierung von Array-Inhalten Java Basics - Anfänger-Themen 5
Q 2 kurze Fragen Java Basics - Anfänger-Themen 3
D Kurze Fragen zu setVisible. Java Basics - Anfänger-Themen 4
G kurze frage zu if schleifen Java Basics - Anfänger-Themen 15
G kurze if frage Java Basics - Anfänger-Themen 8
G Kurze Frage zur Erstellung des Projektplans Java Basics - Anfänger-Themen 7
C OOP - Kurze Frage Java Basics - Anfänger-Themen 12
F Kurze Frage: JLabel in BorderLayout einfügen Java Basics - Anfänger-Themen 2
J QuickSort - kurze Frage Java Basics - Anfänger-Themen 9
M Kurze Pause ins Programm einbauen Java Basics - Anfänger-Themen 5
A Kurze Frage zur Verwendung von this Java Basics - Anfänger-Themen 9
Zrebna Frage zu Test-Driven Development (TDD) Java Basics - Anfänger-Themen 3
I Frage Thymeleaf -> Fehler ignorieren und mit "" ersetzen? Java Basics - Anfänger-Themen 15
I Frage Thymeleaf -> Prefix / Suffix ändern? Java Basics - Anfänger-Themen 11
D Rekursions Probleme / frage Java Basics - Anfänger-Themen 4
T Frage zu Parse Java Basics - Anfänger-Themen 2
H Frage an die Profis Java Basics - Anfänger-Themen 4
J Eine konzeptionelle Frage zu OOP Java Basics - Anfänger-Themen 3
P Frage zu Rekursion und Backtracking Java Basics - Anfänger-Themen 2
H Frage zur Ausgabe Java Basics - Anfänger-Themen 4
H Frage zu arithmetischen Operationen Java Basics - Anfänger-Themen 20
JavaSchmecktLecker Polymorphie Frage zur Methodenüberschreibung Java Basics - Anfänger-Themen 21
J Frage zu einem "Taschenrechner" code Java Basics - Anfänger-Themen 9
B Erste Schritte Frage zu Instanzierung und Referenzen Java Basics - Anfänger-Themen 8
DoubleM Runtime.getRuntime().exec Frage Java Basics - Anfänger-Themen 2
J Eine theoretische Frage zur Praxis - JPanel oder Canvas Java Basics - Anfänger-Themen 5
O Frage: Formaler Typbezeichner? Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben