Variablen Verwaltung von Attributen

denisdw

Mitglied
Hallo zusammen,

ich habe folgende Klasse definiert:

Java:
class Papagei {

   private String name;
  
   public Papagei() {     
   }

   void setName(String name){
      this.name = name;
   }

   String getName(){
      return this.name;
   }
}

Nun versuche ich in anderer Klasse 3 Objekte der Klasse Papagei zu erzeugen und für jedes diesen Objekten einen Namen zu setzen:

Java:
class Zoo {
    // Lege hier die Attribute (Papageien) an
    private String name;

    public Zoo() {
        // Setze hier die Namen der zuvor angelegten Papageien
        Papagei alex = new Papagei();
        alex.setName("Alex");
      
        Papagei jaspar = new Papagei();
        jaspar.setName("Jaspar");
      
        Papagei kiki = new Papagei();
        kiki.setName("Kiki");
   }

   public static void main(String[] args) {
        Zoo zoo = new Zoo();
        System.out.println("Dies ist ein Zoo. Es gibt hier drei Papageien:");
        System.out.println(zoo.alex.getName());
        System.out.println(zoo.jaspar.getName());
        System.out.println(zoo.kiki.getName());

    }
}

Und bekomme die Meldung



Ich vermute, dass der Fehler daran liegt, dass ich in der Klasse Zoo die Attribute nicht bzw. falsch definiert habe...aber sicher bin ich mir nicht.

VG
Denis
 

Tarrew

Top Contributor
Du erstellst die Objekte im Konstruktur, deswegen sind sie auch nur da vorhanden.
Ganz oben steht ja sogar als Kommentar:
// Lege hier die Attribute (Papageien) an

Also solltest du die Papageien als Attribute anlegen und im Konstruktor nur die Namen setzen:
Java:
class Zoo {
    // Lege hier die Attribute (Papageien) an
    Papagei alex = new Papagei();
    Papagei jaspar = new Papagei();
    Papagei kiki = new Papagei();
   
    public Zoo() {
        // Setze hier die Namen der zuvor angelegten Papageien
        alex.setName("Alex");
        jaspar.setName("Jaspar");
        kiki.setName("Kiki");
   }

   public static void main(String[] args) {
        Zoo zoo = new Zoo();
        System.out.println("Dies ist ein Zoo. Es gibt hier drei Papageien:");
        System.out.println(zoo.alex.getName());
        System.out.println(zoo.jaspar.getName());
        System.out.println(zoo.kiki.getName());

    }
}
 

Joose

Top Contributor
Der Grund für die Fehlermeldung ist der Scope der Variablen.
Du hast drei Variablen vom Typ Papagei im Konstruktor erstellt, diese sind nur innerhalb des Konstruktor verfügbar. Damit diese Variablen im Objekt vom Typ Zoo verfügbar hast musst du es wie Tarrew zeigt machen, Instanzvariablen deklarieren und diese initialisieren.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Lion.King Haustier Verwaltung Java Basics - Anfänger-Themen 6
W Erste Schritte Variable in Methode unbekannt - Mitarbeiter Verwaltung Java Basics - Anfänger-Themen 2
D Effiziente Verwaltung der Objekten und Unterobjekten Java Basics - Anfänger-Themen 18
K Speicherzugriff und Verwaltung Java Basics - Anfänger-Themen 1
G allgemeine Ressourcen-Verwaltung... Java Basics - Anfänger-Themen 3
G eine kleine verwaltung Java Basics - Anfänger-Themen 2
G Ebenen Verwaltung und Anzeige Problem Java Basics - Anfänger-Themen 6
M kleines Java Programm (Verwaltung) Java Basics - Anfänger-Themen 16
G Dateien Verwaltung Java Basics - Anfänger-Themen 5
W Verwaltung von objekte Java Basics - Anfänger-Themen 5
M Designentscheidung von Attributen/Methoden im Falle von Vererbung Java Basics - Anfänger-Themen 8
X Was ist der Unterschied zwischen materialisierten und nichtmaterialisierten Attributen einer Klasse? Java Basics - Anfänger-Themen 1
D Objekterzeugungen mit zur Laufzeit variierenden Attributen Java Basics - Anfänger-Themen 7
P Sortieren von Listen nach Attributen Java Basics - Anfänger-Themen 3
G String mit mehreren Attributen aufteilen Java Basics - Anfänger-Themen 6
JokerBlacky Klassen Klasse Queue Klasse mit Attributen anhängen und auslesen können Java Basics - Anfänger-Themen 4
D Objekte mit verschiedenen Attributen erstellen Java Basics - Anfänger-Themen 3
C Kunden mit Attributen hinterlegen Java Basics - Anfänger-Themen 6
F Vererbung von Attributen zwischen zwei Klassen Java Basics - Anfänger-Themen 6
O Objekte nach Attributen durchsuchen Java Basics - Anfänger-Themen 10
S Kopierkonstrukter eines Objekts mit final Attributen Java Basics - Anfänger-Themen 6
Y Variable Menge von Objekten erzeugen und mit ihren Attributen rechnen Java Basics - Anfänger-Themen 7
E Initialisierung von Attributen und Konstruktor Java Basics - Anfänger-Themen 0
L Vererbung Attributen der Oberklasse Attribute hinzufügen? Java Basics - Anfänger-Themen 3
H Datentypen Objekt mit wenig-bittigen Attributen Java Basics - Anfänger-Themen 8
F Interface Unterschied von Attributen und Methoden bei abstrakten Klassen und Interfaces Java Basics - Anfänger-Themen 5
D Attributen und Methoden, etwas vergessen? Java Basics - Anfänger-Themen 6
D Klasse erstellen mit vorgebenen Attributen udn methoden Java Basics - Anfänger-Themen 3
D GUI abhängig von den Attributen füllen! Java Basics - Anfänger-Themen 12
C Überdecken von Attributen und Sichtbarkeit von Variablen Java Basics - Anfänger-Themen 8
P Instanz mit allen Attributen ausgeben Java Basics - Anfänger-Themen 3
G Problem bei der Angabe von Attributen in einer Objekt-Klasse Java Basics - Anfänger-Themen 3
T Vererbung von Attributen und Methoden, Verständnisproblem Java Basics - Anfänger-Themen 4
H Singleton mit Attributen Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben