Java Objekt von anderer klasse aus zugreifen
Hi, ich habe eine klasse, in der ich meine Objekte erstelle. Nun möchte ich mit einer anderen klasse (eine JDialog) ein Objekt mit einem klick auf einen JButton verändern(eine variable setten)
Wie genau mache ich das? Ich werde dummerweise aus den Antworten die mir Google gibt nicht schlau und ich bin auch noch Anfänger.
Danke im voraus Lucas
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.
HELFEN, ja. Warum machst du das in einem Kommentar einer steinalten Frage?
Man macht das generell nicht als Kommentar auf Antworten irgendeiner Frage.
habe das auch als eigene frage gestellt aber bekomme keine Antwort
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;
}
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 :)
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 :)