Java Objekt von anderer klasse aus zugreifen

3 Antworten

Das ist viel zu ungenau, als dass wir wissen könnten, was du vorhast.

Merkwürdig, dass die Anfänger alle mit SWING spielen, aber doch nicht einmal die Grundlagen von OOP richtig verstehen.


redis999  22.11.2019, 18:46

komme bei folgendem Auftrag nicht klar: Es soll neben der Main-Klasse zwei andere Klassen geben: Kunde und Geschaeft.

Ich weiss nicht wie folgendes zu machen ist:

Man soll überprüfen können, ob ein Kunde bei einem Geschäft Mitglied ist. Ein Geschäft kann neue Kunden anwerben und Kunden können bei einem Geschäft die Mitgliedschaft beenden.

Du wuerdest mir sehr helfen :)

PerfectMuffin  22.11.2019, 20:35
@redis999

Legendärer Necrobump.

Fang mal an mit der Aufgabe. Du musst es selbst versuchen.

PerfectMuffin  22.11.2019, 21:06
@redis999

HELFEN, ja. Warum machst du das in einem Kommentar einer steinalten Frage?

PerfectMuffin  22.11.2019, 21:09
@redis999

Man macht das generell nicht als Kommentar auf Antworten irgendeiner Frage.

212lucas 
Beitragsersteller
 23.07.2014, 19:19

Ich möchte auf ein Objekt zugreifen aber wenn ich mit setten und gesternarbeite kommt eine nullpointer fFehlermeldung. Ich greife aber ganz sicher nicht auf etwas zuwas nicht existiert.

Verstehe ich das richtig? du hast eine klasse A (JDialog), die in einer anderen Klasse B die Valiable x verändern will. Damit das geht, brauchst du natürlich in A eine Variable, die eine Instanz von B enthält. ich nenne die mal "ib".

Es gibt grundsätzlich verschiedene Varianten, das zu machen. Du kannst direkt auf die variable zugreifen (mit ib.x, das ist die einfache und dreckige variante), oder du verwendest getter und setter, also öffentliche Methoden in der Klasse B, die diese variable setzen und auslesen. Wichtig ist dabei auch die Sichtbarkeit der Variablen und Methoden (public, private, protected oder standard). Damit x von anderen Klassen angesprochen werden kann, muss es public sein (im gleichen Package reicht auch der standard, bei Kindern (Vererbung) protected). Allgemein ist es aber besser, wenn man (fast) alle Variablen mit private markiert und getter und setter dafür definiert. das sieht dann etwas so aus:

public class B {
     private String x;
         
     public String getX() {
          return x;
     }

     public void setX(String x) {
          this.x = x;
     }                  
}

In der Klasse A rufst du dann z.b. sowas wie

B ib = new B();

...

ib.setX("mein Text");

auf.

Wie lernst du denn Java? In der Schule, privat mit Buch/Internet? Ich empfehle dir, zuerst mal ohne Grafische Oberfläche zu arbeiten, bis du die Grundlagen der Sprache und auch der Objektorientierung richtig verstanden hast. Ist natürlich schwierig, wenn ein Lehrer oder so das anders vorgibt.

Naja, du kannst ein Objekt der "Objekteklasse" erstellen und diese mit getter-Methoden auf die jeweiligen Objekte versehen.

public MyObject getMyObject() {
   return this.myObject;
}

redis999  22.11.2019, 18:45

komme bei folgendem Auftrag nicht klar: Es soll neben der Main-Klasse zwei andere Klassen geben: Kunde und Geschaeft.

Ich weiss nicht wie folgendes zu machen ist:

Man soll überprüfen können, ob ein Kunde bei einem Geschäft Mitglied ist. Ein Geschäft kann neue Kunden anwerben und Kunden können bei einem Geschäft die Mitgliedschaft beenden.

Du wuerdest mir sehr helfen :)