Erste Schritte Ich verstehe this. nicht so richtig

Yearning

Mitglied
Hallo,

Ich bin wirklich blutiger Anfänger und habe mich die letzten Monate so halbwegs durch den Unterricht gemogelt. Am Dienstag haben wir eine Prüfung (nur zum grundlegendsten Verständnis) und da werde ich nach jetzigem Stand durchfallen x_x

Ich brauche also dringend Hilfe, weil einfach auch nichts so läuft wie es eigentlich beschrieben ist :(

Im Moment hapert es daran: ich versuche statt der Referenz die eigentlichen Paramter ausgeben zu lassen. In meinem angehängten Code sieht man ein Beispiel mit der Referenz und wie ich das dann lösen wollte. Ich weiß, dass man this.paramter = parameter braucht, um darauf zugreifen zu können, aber es funkitoniert nicht, wie ich mir das gedacht habe...

Ich denke, was ich versucht habe ist selbsterklärend, bzw ich habe ja Kommentare drin stehen. Kann mir jemand weiterhelfen? Was mache ich falsch? Was sollte ich grundsätzlich bei this. beachten? Was gibt es sonst noch so über this. zu wissen?


Code:
public class Kraftfahrzeug {

   public int ps;
   private int verbrauch;
   private int geschwindigkeit;

   // mit dem Folgenden ruft man nur die Speicheradresse ("Referenz") auf:
   /**
    * public static void main(String[] args) {
    *
    * Kraftfahrzeug fahrzeug1 = new Kraftfahrzeug();
    * Kraftfahrzeug fahrzeug2 = new Kraftfahrzeug();
    *
    * System.out.println(fahrzeug1); //Ausgabe in Konsole: Kraftfahrzeug@15db9742
    * System.out.println(fahrzeug2); //Ausgabe in Konsole: Kraftfahrzeug@6d06d69c
    * }
    */

   // Folgendes gibt immer noch nur die Speicheradresse zurück:
   /**
   * public Kraftfahrzeug(int ps, int verbrauch, int geschwindigkeit) {
   *   this.ps = ps;
   *   this.verbrauch = verbrauch;
   *   this.geschwindigkeit = geschwindigkeit;
   * }
   *
   * public static void main(String[] args) {
   *   Kraftfahrzeug fahrzeug1 = new Kraftfahrzeug(90, 5, 180);
   *   System.out.println(fahrzeug1);
   * }
   */
   
   //online in einem Bsp. gefunden, aber bei mir kommt eine Fehlermeldung
   public Kraftfahrzeug(int ps, int verbrauch, int geschwindigkeit){
       this(90, 5, 180); //Fehlermeldung: Recursive constructor invocation Kraftfahrzeug(int, int, int)
   }
}

Wie es scheint, brauche ich wirklich dringend Hilfe.

Schöne Grüße
yearning
 

Robat

Top Contributor
Du müsstest in deiner Kraftfahrzeug Klasse noch die toString() Methode überschreiben damit beim Sysout das heraus kommt, was du willst.
Mit dem Keyword this hat das in erster Linie erstmal nichts zu tun ;)

Kleines Minimalbeispiel:

Java:
public class Foo
{
      private fooNr;

      public Foo(int fooNr)
      {
           this.fooNr = fooNr;
      } 

      @Override
      public String toString()
      {
            StringBuilder b = new StringBuilder();
            b.append("FooNr:\t").append(fooNr);
            return b.toString();  // oder einfach return "FooNr:\t" + fooNr;
      }

      public static void main(String[] args)
      { 
           Foo f = new Foo(42);
           System.out.println(f);
      }
}
 

Yearning

Mitglied
Oh okay, vielen Dank!

Könntest du mir noch kurz erklären, warum das override und toString wichtig sind? Ich dachte, dass man override nur benutzt, wenn man vererbt und in einer Subklasse dann bestimmte Werte hat. Wo setze ich das override überall sonst ein?

Da ich ja an diesem Bsp. nicht weitergekommen bin habe ich etwas anderes, ein kleines getter/setter-Beispiel, gemacht und auch da bin ich an meine Grenzen gestoßen. Ich erkenne den gleichen Fehler - ich muss einen int in String umwandeln.

Wie finde ich denn heraus, wann ich einen int in einen String umwandeln muss? Bei mir ist das alles so auf gut Glück und da ich teilweise auch die Fehlermeldungen nicht verstehe stochere ich da total im Dunkeln :(
 

mrBrown

Super-Moderator
Mitarbeiter
Könntest du mir noch kurz erklären, warum das override und toString wichtig sind? Ich dachte, dass man override nur benutzt, wenn man vererbt und in einer Subklasse dann bestimmte Werte hat. Wo setze ich das override überall sonst ein?
Wie es schon sagt: jedes mal, wenn du etwas überschreiben willst.
toString wird von Object geerbt, und wird zB von System.out.println aufgerufen. die "normale" Variante gibt nur die Referenz zurück, will man da was Menschenlesbares stehen haben, muss man es deshalb mit einer passenden Variante überschreiben ;)


Wie finde ich denn heraus, wann ich einen int in einen String umwandeln muss? Bei mir ist das alles so auf gut Glück und da ich teilweise auch die Fehlermeldungen nicht verstehe stochere ich da total im Dunkeln :(
Naja, einen String brauchst du zB immer dann, wenn du es irgendwie ausgeben willst.
 

Yearning

Mitglied
Hallo,

ich bin es nochmal.

Ich dachte halt so an Sachen wie bspw. return, das immer meckert, wenn ich etwas mit int ausgeben will.

So ich hab es nochmal mit diesem StringBuilder versucht. Klappt immer noch nicht. Irgendwas mach ich falsch...

Ich glaube, jemand in meinem Kurs hat mal mit Integer toString gearbeitet, aber das sah ganz anders aus als bei dir. Ich hab mal ein bisschen rumgefragt und außer ein paar, die schon vorher programmiert haben, kennen .append() auch nicht, also es liegt nicht daran, dass ich im Unterricht geschlafen hätte. Gibts da ne andere Möglichkeit, die man wahrscheinlich später nicht mehr tun sollte, aber für Anfänger erstmal gelehrt wird?


Oder denke ich etwa falsch und mein Programm könnte gar nicht tun, was ich will?

Also ps, verbrauch und geschwindigkeit sollen aufrufbar sein und je nach Fahrzeug, das dann eingegeben wird, halt spezifisch ausgegeben.

Wenn ich also vier Fahrzeuge habe:
fahrzeug1(90, 5, 200)
fahrzeug2(100, 6, 240);
fahrzeug3(75, 10, 160);
fahrzeug4(60, 3, 130);

möchte ich das nacheinander (untereinander) ausgeben. Und wenn dann noch ein Fahrzeug dazukommt, möchte ich das im Nachhinein auch einfach dazuschreiben können, sodass das dann beim erneuten Durchlauf einfach in einer neuen Zeile zusätzlich erscheint
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Verstehe Rekursion nicht ganz Java Basics - Anfänger-Themen 7
nbergmann x /= n : Verstehe ich nicht. Java Basics - Anfänger-Themen 24
S Schulaufgabe - verstehe leider die Aufgabe nicht Java Basics - Anfänger-Themen 4
ZH1896ZH Verstehe verschieden Scanner und hasNext() nicht ganz Java Basics - Anfänger-Themen 2
ZH1896ZH OOP Verstehe nicht was der Hinweis bedeutet, bitte um Hilfe! Java Basics - Anfänger-Themen 2
A Hilfe bei Rekursion,Ich verstehe nicht,wie funktioniert die Rekursion in der Methode "walk" Java Basics - Anfänger-Themen 13
A Shopping Cart Programm. Verstehe einige Zusammenhänge nicht Java Basics - Anfänger-Themen 1
K Erste Schritte Ich verstehe das Summenprogramm nicht Java Basics - Anfänger-Themen 10
S Ich verstehe die RegEx Tabelle von Javadoc nicht so ganz Java Basics - Anfänger-Themen 3
V Erste Schritte Array.length[x] in einer Schleife - ich verstehe das nicht Java Basics - Anfänger-Themen 1
DaCrazyJavaExpert Methoden Verstehe Feheler nicht! Java Basics - Anfänger-Themen 7
Henri ich verstehe gerade nicht die Methode Java Basics - Anfänger-Themen 6
dave253 Ich verstehe folgenden Code nicht.. Java Basics - Anfänger-Themen 12
V Verstehe die Lösung einer Aufgabe von Grunkurs-Java nicht. Java Basics - Anfänger-Themen 11
J Verstehe die NullPointerException nicht Java Basics - Anfänger-Themen 1
J Verstehe meine HashSet Ausgabe nicht Java Basics - Anfänger-Themen 5
P Verstehe Lösung einer Aufgabe von "Grundkurs-Java" nicht Java Basics - Anfänger-Themen 5
O Ich verstehe nicht, was Eclipse von mir will Java Basics - Anfänger-Themen 10
G Methoden Verstehe nicht was in der Methode gemacht wird? Java Basics - Anfänger-Themen 5
M Verstehe das Programm(Quellcode) nicht!! Java Basics - Anfänger-Themen 12
B Verstehe ZufallInt = (int) (Math.random() * 5 + 1); nicht Java Basics - Anfänger-Themen 9
F verstehe diese Variable nicht... Java Basics - Anfänger-Themen 4
A Codezeile die ich nicht verstehe Java Basics - Anfänger-Themen 7
Pentalon Ein Aufruf den ich nicht verstehe Java Basics - Anfänger-Themen 11
V Verstehe die Logik nicht ... Java Basics - Anfänger-Themen 30
C rekursive Methode verstehe nicht! Java Basics - Anfänger-Themen 3
B verstehe methode nicht methode Java Basics - Anfänger-Themen 2
B Erste Schritte Verstehe das nicht Java Basics - Anfänger-Themen 3
C verstehe get und set nicht Java Basics - Anfänger-Themen 3
J Interface Wie funktioniert das mit den Interfaces. Ich verstehe es einfach nicht! :( Java Basics - Anfänger-Themen 15
T ich verstehe array nicht! Java Basics - Anfänger-Themen 11
P for Schleife mit break, verstehe die Ausgabe nicht Java Basics - Anfänger-Themen 6
A Verstehe readLine()-Funktion nicht Java Basics - Anfänger-Themen 3
A Verstehe das GUI nicht! Java Basics - Anfänger-Themen 7
D Verstehe Zusammenhang nicht- Und ihr? Java Basics - Anfänger-Themen 4
M THREADS - Ich verstehe es nicht Java Basics - Anfänger-Themen 10
T Verstehe Bufferreader prinzip nicht Java Basics - Anfänger-Themen 3
M Verstehe Aufgabe nicht, wie kann man schleifen einbauen? Java Basics - Anfänger-Themen 5
N Verstehe Step10 bei jME Eclipsetutorial nicht Java Basics - Anfänger-Themen 4
L Verstehe den Wert nicht! If-Anweisung Java Basics - Anfänger-Themen 5
N Verstehe diese Aufgabe nicht! Java Basics - Anfänger-Themen 16
Rudolf Verstehe das Ergebnis nicht - bitte erklären Java Basics - Anfänger-Themen 7
S Finde den Fehler nicht/ verstehe Anweisung nicht Java Basics - Anfänger-Themen 12
K Ich verstehe switch einfach nicht Java Basics - Anfänger-Themen 4
C Verstehe Code-Teil nicht. Java Basics - Anfänger-Themen 2
S Ich verstehe diese Methode nicht! Java Basics - Anfänger-Themen 6
G Verstehe das nicht. bitte um hilfe Java Basics - Anfänger-Themen 13
R Thread startet nicht, verstehe nicht warum Java Basics - Anfänger-Themen 2
R Verstehe die Ausgabe von folgendem Code nicht Java Basics - Anfänger-Themen 4
A verstehe aufgabenstellung nicht! Java Basics - Anfänger-Themen 47
S verstehe den fehler nicht Java Basics - Anfänger-Themen 14
C Verstehe die Syntax nicht! Java Basics - Anfänger-Themen 2
M Verstehe den Quellcode nicht ganz Java Basics - Anfänger-Themen 3
7 Verstehe Programm nicht Java Basics - Anfänger-Themen 6
G verstehe das problem nicht :( Java Basics - Anfänger-Themen 4
S RegEx Syntax - ich verstehe sie einfach nicht! Java Basics - Anfänger-Themen 3
G verstehe den unterschied zwischen equals und == nicht Java Basics - Anfänger-Themen 3
E Verstehe eine Schleife nicht Java Basics - Anfänger-Themen 5
B Eine Linie zeichnenmit Java, ich verstehe das einfach nicht Java Basics - Anfänger-Themen 4
G Verstehe einen Aufruf absolut nicht Java Basics - Anfänger-Themen 2
T Brauche Hilfe um ein Programm zu verstehe Java Basics - Anfänger-Themen 4
J Rekursiver Horner-Schema-Algorithmus - Verstehe ich ihn richtig? Java Basics - Anfänger-Themen 2
E I-JVM verstehe ich das richtig (bytecode aufgabe) Java Basics - Anfänger-Themen 2
D Regex greift nicht richtig Java Basics - Anfänger-Themen 4
richis-fragen JTable den angezeigten WERT nicht den Wert aus dem Model ausgeben. Java Basics - Anfänger-Themen 3
richis-fragen JTable Header ausgeblendete (width = 0) nicht per mouseDragged aufziehen. Java Basics - Anfänger-Themen 9
M Ausgabe einer ArrayList ensteht nur als Hashcode, nicht als Objekt Java Basics - Anfänger-Themen 16
K Warum wird mir auf der Konsole des Servers nicht "xxxx" angezeigt (Server/Client) Java Basics - Anfänger-Themen 4
K Warum wird hier nur etwas in eine txt Datei geschrieben und nicht in alle drei (InputStream/OutputStream/Reader/Writer) Java Basics - Anfänger-Themen 1
richis-fragen JTable effektiv angezeigter Text ausgeben nicht Inhalt vom Model Java Basics - Anfänger-Themen 9
S nach Import von jars (PLC4x) in Eclipse kann nicht mehr compiliert werden Java Basics - Anfänger-Themen 9
J Datenüberwachung funktioniert nicht Java Basics - Anfänger-Themen 9
S Wie debugge ich dies am besten: SingleThreadExecutor führt Task nicht aus..? Java Basics - Anfänger-Themen 29
H JDK installieren jdk-21 wird nicht erkannt Java Basics - Anfänger-Themen 13
N Klassen Hintergrundfarbe in JPanel ändert sich nicht Java Basics - Anfänger-Themen 3
K Warum wird mir "Empfangen vom Client:" nicht sofort ausgegeben(Server/Client) Java Basics - Anfänger-Themen 3
mo13 JTextField funktioniert nicht Java Basics - Anfänger-Themen 4
J .jar datei öffnen funktioniert nicht Java Basics - Anfänger-Themen 17
M Methode zielnah zeigt das gewünschte Ausgabe nicht an Java Basics - Anfänger-Themen 3
M OOP Brüche nicht richtig berechnen Java Basics - Anfänger-Themen 3
N Ich kriege ganze zeit die Fehlermeldung "Inhalt der Zwischenablage kann nicht in die ausgewählten Elemente eingefügt werden" hat jemand eine Lösung? Java Basics - Anfänger-Themen 6
K TicTacToe belegtes feld nicht neu besetzbar Java Basics - Anfänger-Themen 1
K TicTacToe belegtes Feld nicht neu besetzbar Java Basics - Anfänger-Themen 3
A Warum wird mein jdk nicht gefunden? Java Basics - Anfänger-Themen 3
M Queue-Datenstruktur: nach dem Elementen entfernen, das Ergebnis ist immer noch nicht optimal. Java Basics - Anfänger-Themen 3
K Programm compilierbar aber nicht ausführbar... Java Basics - Anfänger-Themen 21
N Hey Leute und zwar versuche ich gerade ein 2D Spiel zu Programmieren aber die Figur will sich nicht nach links oder rechts bewegen :( Java Basics - Anfänger-Themen 12
G Mit jPackage erstellte EXE funktioniert nicht Java Basics - Anfänger-Themen 2
N BMI Rechner Was haltet ihr von dem Code habt ihr Verbesserungsvorschläge weil design teschnisch ist das nicht das geilste würde das gerne überarbeiten Java Basics - Anfänger-Themen 12
G Robot funktioniert nicht bei SelectionListener Java Basics - Anfänger-Themen 6
D MacOS: PDF erstellen geht nicht Java Basics - Anfänger-Themen 1
G Kann Java-Programm nicht als jar aufrufen, auch als EXE nicht Java Basics - Anfänger-Themen 19
J jar Befehl wird nicht erkannt Java Basics - Anfänger-Themen 7
missy72 Erste Schritte (nicht) Deterministischer endlicher Automat Java Basics - Anfänger-Themen 9
T Getter/Setter - wie sieht ein Setter aus? Und wie nicht? Java Basics - Anfänger-Themen 34
T catch(InputMismatchException) wird nicht ausgefürt/erkannt Java Basics - Anfänger-Themen 12
T Methode akzeptiert String nicht Java Basics - Anfänger-Themen 18
P Netbeans installation geht nicht Java Basics - Anfänger-Themen 26
R RegEx funktioniert nicht Java Basics - Anfänger-Themen 14
T HashMap Lsite gibt die sachen nicht aus wie gewollt. Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben