Zugriff auf ein verschachteltest Objekt

Status
Nicht offen für weitere Antworten.
D

Destiny1985

Gast
Folgener Programmcode ist gegeben

Code:
import java.io.*;

class MarmeladenTester2
{
  public static void main(String[] args) throws IOException
  {
    Keller marmeladenKeller = new Keller("Kirsche", 20, "02.09.2004",
                                         "Erdbeer", 15, "15.06.2005",
                                         "Apfel  ", 35, "17.10.2004");
                                         
    // marmelade1.marmeladeAusgeben();

  }
}

class Keller
{
  // Daten
  
  // Konstruktoren
  
  public Keller(String sorte1, int inhalt1, String datum1,
                String sorte2, int inhalt2, String datum2,
                String sorte3, int inhalt3, String datum3)
  {
    Marmelade marmelade1 = new Marmelade(sorte1, inhalt1, datum1);
    Marmelade marmelade2 = new Marmelade(sorte2, inhalt2, datum2);
    Marmelade marmelade3 = new Marmelade(sorte3, inhalt3, datum3);
  }
  
  // Methoden
}

class Marmelade
{
  // Daten

  private String sorte;
  private int inhalt;
  private String datum;

  // Konstruktoren

  public Marmelade( String sorte, int inhalt, String datum)
  {
    this.sorte = sorte;
    this.inhalt = inhalt;
    this.datum = datum;
  }

  // Methoden

  public void marmeladeAusgeben()
  {
    System.out.println("Sorte:  " + sorte + "  Inhalt: " + inhalt + "  Datum: " + datum);
  }
}

Die Klasse Keller simuliert einen Keller mit Marmeladenklässern (die druch die Klasse Marmelade erzuegt werden).

Mein Problem: kann ich nun von main aus nicht mehr auf das Objekt im Objekt direkt zugreifen ?

So wie in der auskommentierten Zeile...

mfg
 

mic_checker

Top Contributor
Du willst von main aus auf ein Objekt in Marmelade zugreifen? Oder wo ist das Problem ?

Dann schreib doch eine getter/setter Methode dafür.

btw. der Konstruktor von Keller ist etwas "unübersichtlich".
 
D

Destiny1985

Gast
ja ich weiss das er unübersichtlich ist, aber im tutorial bin ich erst soweit, wie es da ist...ka wie ich das kürzer und besser hinbekommen, das wird wohl eins der nächsten themen sein...

ich will von main aus

marmelade1.marmeladeAusgeben();

aufrufen, das geht aber nicht...wieso ?
 

mic_checker

Top Contributor
Stell das Konzept von deinem Prog um.

Willst du einen eigenen Kellerspeicher/Stack implementieren?

Du kannst doch ne Liste in Keller verwenden, von main aus steckst du dann Marmeladen-Objekte rein...um darauf zugreifen zu können holst du aus der Liste dann einfach die entsprechenden Objekte.
 
D

Destiny1985

Gast
mic_checker hat gesagt.:
Stell das Konzept von deinem Prog um.

Willst du einen eigenen Kellerspeicher/Stack implementieren?

Du kannst doch ne Liste in Keller verwenden, von main aus steckst du dann Marmeladen-Objekte rein...um darauf zugreifen zu können holst du aus der Liste dann einfach die entsprechenden Objekte.

hey ganz langsam mit den jungen pferden ;)

mache OO ja noch nicht lange und probiere gerade ein wenig rum.

Mein Programm soll dann sowas ähnliches werden wie in Übung 1 gefordert

http://www.gailer-net.de/tutorials/java/Notes/chap35/progExercises35.html

Nehme aber das Programm nicht als Vorlage, sondern will es zur Übung ganz alleine neu aufbauen.

Und mit Listen etc hatte ich bisher nichts am Hut == kann ich nicht :/
 

mic_checker

Top Contributor
Der Umgang mit Listen ist aber nicht schwer mit dem schönen Collections Framework von Java.

Code:
private List deineListe = new ArrayList();

public Keller(Marmelade md) {
deineListe.add(md);
}

....

Wenn du dem Konstruktor von Keller ein Marmeladen Objekt übergibst kann es so machen...., kannst natürlich auch die Werte übergeben, das Marmeladen Objekt erzeugen und das dann der Liste übergeben.

Ansonsten schau dir mal die API an.

Hab extra noch nicht alles hingeschrieben, sollst ja noch bissl überlegen ;)
 
D

Destiny1985

Gast
dank dir mic ... aber das will ich doch gar nicht ;)

will doch nur wissen wieso ich in main mittels

// marmelade1.marmeladeAusgeben();

nicht auf marmelade1 zugreifen und die ausgeben lassen kann !!
 
D

Destiny1985

Gast
naja, in der Klasse keller wird das Objekt marmelade1 doch erzeugt...und das ist doch public...sollte man dann nicht drauf zugreifen können ? Verstehe nicht, wieso es nicht geht.

Selbst wenn ich einen Umweg gehe und in der Klasse Keller die Methode

Code:
public void kellerAusgeben()
  {
    marmelade1.marmeladeAusgeben();
  }

hinzufüge und dann unter main

Code:
marmeladenKeller.kellerAusgeben();

aufrufe geht es nicht ! er kann mit marmelade1 nichts anfangen...aber wieso :(
 

Wildcard

Top Contributor
wenn du etwas public deklarierst (was man mit Instanzvariablen nie macht) ist es nach aussen hin sichtbar.
Das heißt du kannst ÜBER dieses Objekt auf die Marmelade zugreifen.
Code:
public void kellerAusgeben()
  {
    marmelade1.marmeladeAusgeben();
  }
Das das nicht geht ist ja wohl auch klar wenn marmelade1 keine Instanz-Variable, sondern eine lokale ist...
 
D

Destiny1985

Gast
ach klar...das ding is ja jetzt nur lokal im konstruktor definiert :/ kein wunder...
 
D

Destiny1985

Gast
also aktuell ist der code

Code:
import java.io.*;

class MarmeladenTester2
{
  public static void main(String[] args) throws IOException
  {
    Keller marmeladenKeller = new Keller("Kirsche", 20, "02.09.2004",
                                         "Erdbeer", 15, "15.06.2005",
                                         "Apfel  ", 35, "17.10.2004");

    marmeladenKeller.kellerAusgeben();
    marmelade1.marmeladeAusgeben();
  }
}

class Keller
{
  // Daten
  
  Marmelade marmelade1;
  Marmelade marmelade2;
  Marmelade marmelade3;
  
  // Konstruktoren
  
  public Keller(String sorte1, int inhalt1, String datum1,
                String sorte2, int inhalt2, String datum2,
                String sorte3, int inhalt3, String datum3)
  {
    marmelade1 = new Marmelade(sorte1, inhalt1, datum1);
    marmelade2 = new Marmelade(sorte2, inhalt2, datum2);
    marmelade3 = new Marmelade(sorte3, inhalt3, datum3);
  }
  
  // Methoden
  
  public void kellerAusgeben()
  {
    marmelade1.marmeladeAusgeben();
    marmelade2.marmeladeAusgeben();
    marmelade3.marmeladeAusgeben();
  }
}

class Marmelade
{
  // Daten

  private String sorte;
  private int inhalt;
  private String datum;

  // Konstruktoren

  public Marmelade( String sorte, int inhalt, String datum)
  {
    this.sorte = sorte;
    this.inhalt = inhalt;
    this.datum = datum;
  }

  // Methoden

  public void marmeladeAusgeben()
  {
    System.out.println("Sorte:  " + sorte + "  Inhalt: " + inhalt + "  Datum: " + datum);
  }
}

die ausgabe mit

Code:
public void kellerAusgeben()
  {
    marmelade1.marmeladeAusgeben();
    marmelade2.marmeladeAusgeben();
    marmelade3.marmeladeAusgeben();
  }
funktioniert jetzt, allerdings noch nicht die "direkte" ausgabe über

Code:
marmelade1.marmeladeAusgeben();

...da kann man nichts machen ?

mfg
 

mic_checker

Top Contributor
Wenn du in deiner main das schreibst:

Code:
marmelade1.marmeladeAusgeben();

Wie soll deine Klasse mit der main Zugriff auf marmelade1 haben? Du musst noch angeben das es in der Klasse Keller ist, also marmeladenKeller.marmelade1 etc.

Allerdings ist das kein sauberer Programmierstil.

Oder du schreibst getter Methoden.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
I In unterschiedlichen Applikation Zugriff auf eine gemeinsame Anwendung? Java Basics - Anfänger-Themen 8
C Zugriff auf Methode Java Basics - Anfänger-Themen 2
I Applikationsserver (WildFly) - Zugriff auf Ressourcen.. Problem mit Pfade Java Basics - Anfänger-Themen 10
J Zugriff auf eine 2. Klasse die per UI-Designer erstellt wurde Java Basics - Anfänger-Themen 1
Encera Zugriff auf Map-Objekte Java Basics - Anfänger-Themen 3
T Zugriff auf Control anderer Klasse Java Basics - Anfänger-Themen 5
W Unterschiede bei Zugriff auf Objekt und Klassenvariablen über einen Getter? Java Basics - Anfänger-Themen 2
EchtKeineAhnungManchmal hallo habe ein Problem mit einer Datei -> (Zugriff verweigert) Java Basics - Anfänger-Themen 4
R TreeSet Zugriff aus anderer Klasse Java Basics - Anfänger-Themen 8
C Kein Zugriff auf Klassenmethoden in Main Methode Java Basics - Anfänger-Themen 23
H Zugriff verweigert Java Basics - Anfänger-Themen 5
moiss002 Umgebungsvariable Kein Zugriff auf ein Array Java Basics - Anfänger-Themen 7
B Probleme mit Zugriff auf Dateisystem Windows 10 ( jFileChooser) Java Basics - Anfänger-Themen 17
B Zugriffsmodifier, Zugriff außerhalb Package Java Basics - Anfänger-Themen 5
C Zugriff auf Attribut von Oberklasse Java Basics - Anfänger-Themen 8
P Klasse hat keinen Zugriff auf getter/setter-Methoden eines Objektes Java Basics - Anfänger-Themen 9
B Methoden Methoden haben kein Zugriff auf variablen Java Basics - Anfänger-Themen 4
M Gettter/Setter Methoden Klassenfelder kapselung und zugriff? Java Basics - Anfänger-Themen 1
S Zugriff auf protected Fields = guter Programmierstil? Java Basics - Anfänger-Themen 11
M Pfadprobleme - Zugriff auf einen Ordner im Workspace Java Basics - Anfänger-Themen 17
ruutaiokwu Bluetooth-Zugriff, braucht es dazu plattformabhängige Libraries oder kann das Java mittlerweile selbst? Java Basics - Anfänger-Themen 10
R Zugriff auf den Index eines Arrays, welches ein Objekt ist. Java Basics - Anfänger-Themen 4
M Zugriff auf eine ArrayList in einer anderen Klasse Java Basics - Anfänger-Themen 4
P Zugriff auf Variablen anderer Klassen in Greenfoot Java Basics - Anfänger-Themen 1
L Methoden Zugriff <identifier> expected Java Basics - Anfänger-Themen 13
T Java - Zugriff nur mit CLASSPATH ? Java Basics - Anfänger-Themen 7
B Klassen Zugriff auf ein Objekt einer Klasse aus einer Methode heraus Java Basics - Anfänger-Themen 4
L Zugriff auf Attribute eins Objekts über ActionListener Java Basics - Anfänger-Themen 4
D Zugriff auf Methode einer anderen Klasse Java Basics - Anfänger-Themen 5
S Zugriff auf Objekt Java Basics - Anfänger-Themen 5
A Klassen Zugriff auf Instanzen Java Basics - Anfänger-Themen 2
N ArrayList in eigener Klasse erzeugen mit Zugriff Java Basics - Anfänger-Themen 7
J Zugriff auf Variable in anderem Programm Java Basics - Anfänger-Themen 5
Q Zugriff auf Attribute Java Basics - Anfänger-Themen 3
J Klassen Zugriff auf ein "String Array" Java Basics - Anfänger-Themen 6
H Datentypen ArrayList in ArrayList: Zugriff Java Basics - Anfänger-Themen 6
J get methoden zugriff und objekt erzeugung Java Basics - Anfänger-Themen 30
J Datenbank Zugriff Java Basics - Anfänger-Themen 24
T Zugriff auf JCheckBox Java Basics - Anfänger-Themen 8
E Netzlaufwerk Zugriff schlägt fehl Java Basics - Anfänger-Themen 11
C Group, Actor und Instanz-Zugriff, LibGDX Java Basics - Anfänger-Themen 4
S Zugriff auf Attribut einer unbekannten Klasse erhalten Java Basics - Anfänger-Themen 6
R Methoden Methode der GUI-Klasse Zugriff auf Methoden der Hauptklasse Java Basics - Anfänger-Themen 9
S Vererbung Zugriff auf die Basisklasse einer "zweiten" Erweiterungsklasse Java Basics - Anfänger-Themen 2
Z Threads Threads - Zugriff auf Ressourcen ohne(Lock, Synchronized) Java Basics - Anfänger-Themen 2
S Vererbung Zugriff auf Methode funktioniert nicht (static/non-static) Java Basics - Anfänger-Themen 3
F Klassen Zugriff auf verschachtelte Objekte Java Basics - Anfänger-Themen 11
J Sichtbarkeit und Zugriff Java Basics - Anfänger-Themen 9
G Wieviel kostet der Zugriff auf Objektattribute im Vergleich zur Erstellung von vars in Methode? Java Basics - Anfänger-Themen 11
L Zugriff auf zwei Java-Quellcodes Java Basics - Anfänger-Themen 3
A OOP Zugriff auf Objekte von außen Java Basics - Anfänger-Themen 8
M Kapselung Datenkapselung Sinn direkter Zugriff? Java Basics - Anfänger-Themen 1
G Methoden Zugriff auf Methode.. aus einer anderen Klasse Java Basics - Anfänger-Themen 6
J JDialog Zugriff auf parent JDialog Java Basics - Anfänger-Themen 5
K Collections Zugriff auf ein bestimmtes Element in der Collection Java Basics - Anfänger-Themen 1
K ArrayList in Konstruktor - wie späterer Zugriff Java Basics - Anfänger-Themen 2
F Zugriff auf Objekt einer anderen Klasse Java Basics - Anfänger-Themen 7
P Zugriff auf Felder in ArrayList Objekten Java Basics - Anfänger-Themen 2
J Erste Schritte Zugriff auf Eigenschaft Java Basics - Anfänger-Themen 2
M MVC - Problem mit Zugriff auf Objekt Java Basics - Anfänger-Themen 4
D Zugriff auf von einer anderen Klasse erstellten Objekten Java Basics - Anfänger-Themen 5
C 5 - Zugriff verweigert Java Basics - Anfänger-Themen 1
K Zugriff auf Variabeln Wert einer Instanz Java Basics - Anfänger-Themen 4
A Methoden Zugriff auf eingelesene Variablen in der main Methode (ohne Änderung der Parameterliste) Java Basics - Anfänger-Themen 4
Z Methoden Zugriff mit Klasse 3 auf Methode von Klasse 2 welche in Klasse 1 erzeugt wird Java Basics - Anfänger-Themen 6
Z Zugriff auf andere Methoden Java Basics - Anfänger-Themen 12
Z Zugriff auf Pakete Java Basics - Anfänger-Themen 5
G Zugriff zwischen Klassen Java Basics - Anfänger-Themen 15
N Problem mit Swing Textfeld und Zugriff aus anderer Klasse Java Basics - Anfänger-Themen 6
H Kein Zugriff auf das Element einer JList möglich: Fehlermeldung Java Basics - Anfänger-Themen 2
W OOP Zugriff auf mit Objekt erstellte Struktur Java Basics - Anfänger-Themen 7
F Klassen Zugriff auf Fenster aus versch. Klassen Java Basics - Anfänger-Themen 5
M Variablen Zugriff von außerhalb eines Blockes auf eine Variable innerhalb eines Blockes Java Basics - Anfänger-Themen 2
U Methoden Zugriff auf Array von weiterer Methode einer Klasse, Rückgabewert Problem Java Basics - Anfänger-Themen 5
B Klassen Zugriff auf Daten der Child-Klasse Java Basics - Anfänger-Themen 9
W Typisierte ArrayList und der Zugriff auf den Typ Java Basics - Anfänger-Themen 5
M Zugriff auf Klasse Java Basics - Anfänger-Themen 2
K Zugriff auf C: Java Basics - Anfänger-Themen 5
S Das richtige Format für den SOAP Zugriff Java Basics - Anfänger-Themen 0
S Klassen Zugriff auf Attribute einer zweiten Klasse, welche durch dritte gesettet wurden? Java Basics - Anfänger-Themen 2
N Zugriff bei Package Struktur Java Basics - Anfänger-Themen 6
M Enum: Zugriff auf Konstanten Java Basics - Anfänger-Themen 7
V Zugriff auf jProgressbar Java Basics - Anfänger-Themen 10
B Zugriff auf csv-Datei per hashmap Java Basics - Anfänger-Themen 5
G Spalte in JTable unsichtbar machen, Zugriff auf Daten ermöglichen Java Basics - Anfänger-Themen 2
T ZUgriff auf 'Werte' Java Basics - Anfänger-Themen 3
J Vererbung Zugriff auf private Variable Java Basics - Anfänger-Themen 10
C Klassen Zugriff auf Objekt anderer Klasse Java Basics - Anfänger-Themen 8
B Methoden Zugriff auf Variable ermöglichen Java Basics - Anfänger-Themen 3
M Zugriff auf Arraylist Java Basics - Anfänger-Themen 7
D Kein Zugriff auf JFrame Java Basics - Anfänger-Themen 2
K Zugriff einer Klasse auf eine andere Andere -> bad operand for binary operator Java Basics - Anfänger-Themen 5
B Erste Schritte Array-Zugriff Java Basics - Anfänger-Themen 10
D OOP Zugriff auf Objekte A in Klasse A aus Objekt B in Klasse B Java Basics - Anfänger-Themen 3
T Collections Zugriff auf Elemente aus Iterator() Schleife Java Basics - Anfänger-Themen 4
J Threads Zugriff auf Attribute Java Basics - Anfänger-Themen 16
N Kein Zugriff auf Ordner -> NullPointerException Java Basics - Anfänger-Themen 2
I kein zugriff auf jList oder Textfield Java Basics - Anfänger-Themen 2
N Problem bei Zugriff auf Textfelder Java Basics - Anfänger-Themen 6
LittleJavaCup Zugriff auf Klasse von package Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben