wie kann ich alle Attribute von dem Objekt(pagode) ausgeben lassen ?

Käsekuchen

Mitglied
Java:
public class AutoObjekte {
public static void main(String[]args) {
    
        //Objekt names e46 der Klasse Auto wird erstellt, Werte werden den Attributen zugewiesen
        Auto e46 = new Auto();
        e46.marke="BMW";
        e46.farbe="silver";
        e46.art="touring";
        e46.hubraum=2793;
        e46.ps=193;
        
        //noch ein Objekt names pagode der Klasse Auto wird erstellt, Werte werden den Attributen zugewiesen
        Auto pagode = new Auto();
        pagode.marke="Mercedes";
        pagode.farbe="schwarz";
        pagode.art="cabrio";
        pagode.hubraum=2778;
        pagode.ps=170;
Code:
public class Auto {

    String marke;
    String farbe;
    String art;
    int hubraum;
    int ps;
    
}
ich möchte jetzt von dem Objekt(pagode) alle Attribute ausgeben lassen, also "Mercedes,schwarz..." natürlich könnte ich System.out.println(pagode.marke+pagode.farbe...) schreiben, aber da gibt es bestimmt effizientere Wege. Vielleicht mit Hilfe eines array und dann einer for Schleife? Wüsste jetzt aber nicht, wie ich hier ein Array machen kann.
 
Du könnest in der Klasse Auto auch die toString Methode überscheiben.

Oder eine andere Methode erstellen die dir einen String so wie du in möchtest zurück gibt um ihn dann in der main auszugeben.
 
Das übliche ist, dass Du einfach die toString Methode überschreibst. Das generieren die gängigen Entwicklungsumgebungen auch automatisch für Dich.

Da ist dann nichts mit Schleife oder so - es wird nur eben einmalig an einer Stelle alles aufgeführt.

Prinzipiell wäre es auch denkbar, per Reflection sich alle Attribute zu holen um diese dann durchzugehen und diese auszugeben. Das ist aber unüblich und auch langsam.
 
ich möchte jetzt von dem Objekt(pagode) alle Attribute ausgeben lassen, also "Mercedes,schwarz..." natürlich könnte ich System.out.println(pagode.marke+pagode.farbe...) schreiben
Ich halte das von dir beschriebene für den korrekten Weg, weil du in diesem Fall die Ausgabe individuell selbst "gestalten" kannst. Du kannst vor allem an verschiedenen Stellen deines Programmes, unterschiedliche Ausgabeformate damit haben. Vielleicht brauchst du ja in einem Fall nur eine Liste mit Marke und Farbe und an anderer Stelle Marke und Hubraum.

Die erwähnte toString() Methode ist wichtig und sollte überschrieben werden, hat aber i.d.R. die Aufgabe eine menschenlesbare Ausgabe z. B. für Debugzwecken zu ermöglichen.
 
Zuletzt bearbeitet:

Neue Themen


Zurück
Oben