OOP static class in einer Klasse

3301

Mitglied
Hallo Community,

ich habe eine Aufgabe und bin auf folgendes Problem gestoßen:

Ich habe eine Klasse und innerhalb dieser Klasse gibt folgende statische Klasse -->
Java:
public static class Paar implements Comparable<Paar>

Bei Paar werden im Konstruktor 2 int Werte übergeben. Die Klasse Paar stellt ein Paar als Objekt dar, die dann wiederrum mit anderen Paaren in Relationen stehen. In der Klasse Paar gibt es dann noch einige nützliche Methoden wie equals,compareTo,toString und sowohl auch den gettern.

Nach der Klasse Paar gehts dann los mit der tatsächlichen Klasse Relation. Relation ist ein Objekt und innerhalb des Objektes stehen Paare.

Die Objektvariable zur Klasse ist wie folgt definiert

Java:
private Set<Paar> pairSet = new TreeSet<>();

das Set beinhaltet jeweils n Paars die innerhalb der Klasse erstellt werden.

Bis jetzt noch alles verständlich. Jedoch habe ich dazu einige Fragen

Was bedeutet
Java:
implements Comparable<Paar>
?

Wie kann ich auf die jeweiligen Paare einer Relation zugreifen wenn die Relation vorher so erstellt wurde? Oder wie kann man allgemein einfach drauf zugreifen?.
Java:
Relation r = new Relation().add(new Relation.Paar(1, 2))
				.add(new Relation.Paar(1, 3)).add(new Relation.Paar(2, 3))
				.add(new Relation.Paar(2, 4)).add(new Relation.Paar(3, 1));

Ich muss unbedingt auf die einzelnen Werte zugreifen können um die Aufgabe lösen zu können.
 

kaoZ

Top Contributor
Was bedeutet
Java:
implements Comparable<Paar>
?


Das bedeutet das diese Klasse das Interface Comparable implementiert, welches dir über deren Methoden, wie z.B
Code:
compareTo(Object);
gestattet Objekte zu vergleichen.

Hier wird außerdem die möglichkeit genutzt über Generics
Code:
"<T>"
festzulegen was verglichen werden darf, in deinem Fall Objekte vom Typ Paar

Wie kann ich auf die jeweiligen Paare einer Relation zugreifen wenn die Relation vorher so erstellt wurde? Oder wie kann man allgemein einfach drauf zugreifen?.

Java:
Relation r = new Relation().add(new Relation.Paar(1, 2))
                .add(new Relation.Paar(1, 3)).add(new Relation.Paar(2, 3))
                .add(new Relation.Paar(2, 4)).add(new Relation.Paar(3, 1));

Antwort : indem du dir getter für die Werte der Paare erstellst , oder wenn vorhanden diese darüber aufrufst / ausgeben lässt.

[TIPP]
Code:
"r"
referenziert ein Objekt vom Typ Relation, welches als Attribut ein Objekt vom Typ Paar enthält, dieses Wiederrum hat get Methoden um auf dessen Attribute ( z.B primitive Datentypen ) zugreifen zu können, wenn Paar statisch ist , sind es die getter ebenfalls.[/TIPP]

[EDIT]
In der Klasse Paar gibt es dann noch einige nützliche Methoden wie equals,compareTo,toString und sowohl auch den gettern.
[/EDIT]

Da hast du also schon deine getter um an die Daten zu kommen ;)
 
Zuletzt bearbeitet:

3301

Mitglied
Die get Methoden sind implementiert aber ich kann derzeit mit meinen Wissensstand nicht auf Objekte Zugreifen die keine Referenz haben.

Zum Beispiel kann ich auf:
Java:
Paar einPaar = new Paar(6,7);

ganz einfach zugreifen mit:
Java:
einPaar.getLeft();
einPaar.getRight();

Aber auf das Objekt im Objekt Relation kann ich noch nicht zugreifen.
Java:
Relation r = new Relation().add(new Relation.Paar(1, 2));

Habe jetzt schnell mal nach Generics recherchiert und ich habe in meinem Code was ähnliches gefunden.

Java:
private Relation(Set<Paar> s) {
		pairSet = new TreeSet<Paar>(s);
	}
 
Zuletzt bearbeitet:

kaoZ

Top Contributor
Paar ist eine Innere statische klasse , richtig ?

das bedeutet du kannst diese nutzen ohne ein Objekt der Äußeren Klasse zu erzeugen .

poste mal bitte die Getter Methoden der Paar Klasse.


Du solltest aber statisch auf die Paar Werte deines Relations Objektes zugreifen können

Java:
Paar.getValue();


[EDIT]Anhand der Codefetzen die hier nur stehen kann man daraus nicht wirklich was schliessen ;)[/EDIT]
 
Zuletzt bearbeitet:

Natac

Bekanntes Mitglied
Aber auf das Objekt im Objekt Relation kann ich noch nicht zugreifen.
Java:
Relation r = new Relation().add(new Relation.Paar(1, 2));
Dann gucke doch mal nach, welche Methoden dir die Klasse "Relation" zur Verfügung stellt, um auf die Objekte zuzugreifen, die sei verwaltet... :rtfm:
Im günstigsten Fall in deiner IDE "r." eingeben und dann STRG+LEERTASTE drücken, um die Methoden einzusehen.
 
Zuletzt bearbeitet:

kaoZ

Top Contributor
Hier nochmal zum verdeutlichen

Die Attribute der statischen inneren klasse müssen für den Zugriff statisch sein.

 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D neue public static class variablen in array speichern? Java Basics - Anfänger-Themen 6
M Class will alle Variablen als static haben Java Basics - Anfänger-Themen 11
H .class und static Block ? Java Basics - Anfänger-Themen 4
M The serializable class . does not declare a static . Java Basics - Anfänger-Themen 2
G The serializable class Kalender does not declare a static fi Java Basics - Anfänger-Themen 5
N The serializable class.does not declare a static final . Java Basics - Anfänger-Themen 2
A class does not declare a static final serialVersionUID Java Basics - Anfänger-Themen 13
O Welcher Object-Lock-Pool bei static Variablen? Java Basics - Anfänger-Themen 3
A Instance methods should not write to "static" fields Java Basics - Anfänger-Themen 4
berserkerdq2 Habe eine Klasse, welche public ist, diese hat eine public Methode, die nicht static ist. Wenn ich nun versuche aufzurufen Probleme? Java Basics - Anfänger-Themen 8
viktor1 Methoden Methode schreiben static void readText (String filename) {...} zu WordHistogramSample.java Java Basics - Anfänger-Themen 13
M static ArrayList in non-static Java Basics - Anfänger-Themen 12
B Static vs non static und Probleme daraus Java Basics - Anfänger-Themen 13
S Methoden 2 non-static Methoden, trotzdem Fehler "non static method can not be referenced from a static context" Java Basics - Anfänger-Themen 9
R UML-Bild (Erkennung ob static o. nicht) Java Basics - Anfänger-Themen 18
R Schulaufgabe, Bruache Hilfe mit non-static Methoden Java Basics - Anfänger-Themen 2
B Static Attribute in einer Klasse, wie geht das? :O Java Basics - Anfänger-Themen 19
NaZuRe Geld(Wert) von der public static void main in die public static void Blackjack Java Basics - Anfänger-Themen 2
H Static Java Basics - Anfänger-Themen 5
K Ausgaben auf der Konsole (static Varible) Java Basics - Anfänger-Themen 9
S public static boolean Java Basics - Anfänger-Themen 4
Vamecruft Compiler-Fehler public static void zu static String ändern Java Basics - Anfänger-Themen 2
L non-static Fehler Java Basics - Anfänger-Themen 16
S Klassenmethode ohne static Java Basics - Anfänger-Themen 2
M (Sehr großes Problem) Listen als static in anderen Klassen verwendet Java Basics - Anfänger-Themen 12
J Fehlermeldung unklar. non-static variable player0 cannot be referenced from a static context Java Basics - Anfänger-Themen 4
D Methoden Scannervariablen in static Methoden Java Basics - Anfänger-Themen 5
P non-static variable cannot be referenced from a static context Java Basics - Anfänger-Themen 6
V the static method should be accessed is a static way Java Basics - Anfänger-Themen 6
NormanPatrickBenner static non-static Java Basics - Anfänger-Themen 82
N Erste Schritte "non-static method" oder "XYZ can not be resolved" Java Basics - Anfänger-Themen 21
B Email versenden, muss Methode static sein? Java Basics - Anfänger-Themen 7
R static in der Methode Java Basics - Anfänger-Themen 2
E Problem mit static Methode Java Basics - Anfänger-Themen 4
H Vererbung Static Scanner Objekt verwenden - von StdIn in einer importierten Klasse lesen Java Basics - Anfänger-Themen 10
M Cannot make a static reference to the non-static method Java Basics - Anfänger-Themen 10
I Abstrakte Klasse - static Attribute deklarieren Java Basics - Anfänger-Themen 14
C Methoden Unterschied zwichen public int, public static int und public static void Java Basics - Anfänger-Themen 2
J Frage zu: public static void main (String[]args) Java Basics - Anfänger-Themen 1
T Datentypen enum static Chaos (blutiger anfänger) Java Basics - Anfänger-Themen 5
D Das leidige Thema static.... Java Basics - Anfänger-Themen 15
Aprendiendo Interpreter-Fehler "non-static variable this cannot be referenced from a static context" Java Basics - Anfänger-Themen 2
T Problem mit static Java Basics - Anfänger-Themen 6
T static String Variable wird nur beim ersten aufruf durch eine Funktion geändert. Java Basics - Anfänger-Themen 16
S Vererbung Zugriff auf Methode funktioniert nicht (static/non-static) Java Basics - Anfänger-Themen 3
snipesss Was kann 'static'? Java Basics - Anfänger-Themen 4
H Variablen error: non-static variable cannot be referenced from a static context Java Basics - Anfänger-Themen 4
M public static int in ActionListener Java Basics - Anfänger-Themen 6
J static verschachtelte Klassen und innere Klassen Java Basics - Anfänger-Themen 1
H Nicht Static Funktion ohne Objekt aufrufen? Java Basics - Anfänger-Themen 6
E Objekte und static Java Basics - Anfänger-Themen 2
K Methoden Methoden in Methoden -> static oder nicht? Java Basics - Anfänger-Themen 7
D Erklärung static boolean Java Basics - Anfänger-Themen 6
L Was genau macht "public static void" ? Java Basics - Anfänger-Themen 12
U Erste Schritte cannot be referenced from a static context Java Basics - Anfänger-Themen 1
B ja ja schon wieder einer mit einer public static void main(string[] args) Frage... Java Basics - Anfänger-Themen 8
J Java: static bei Vererbung Java Basics - Anfänger-Themen 5
O Zu viel static im Projekt Java Basics - Anfänger-Themen 9
F Static final Klasse Java Basics - Anfänger-Themen 0
N static und Objekt kombiniert?!? Java Basics - Anfänger-Themen 3
O Wann nutzt man static? Java Basics - Anfänger-Themen 19
B Klassen Eigene "non static" Klasse in Main verwenden! Java Basics - Anfänger-Themen 12
A Static variablen --- Anwendungsbereich Java Basics - Anfänger-Themen 11
B Erste Schritte Wie komme ich aus Static raus?!! Java Basics - Anfänger-Themen 4
V Static Methods Java Basics - Anfänger-Themen 5
W Compiler-Fehler "non-static method cannot be referenced"-Problem Java Basics - Anfänger-Themen 6
S OOP Klasse mit static-Eigenschaften - HashMap füllen Java Basics - Anfänger-Themen 6
B static individuell "vererben"? Java Basics - Anfänger-Themen 8
B Erkennen, wann static oder nicht? Java Basics - Anfänger-Themen 7
T Static Fehler Java Basics - Anfänger-Themen 1
R public static void Rückgabe Java Basics - Anfänger-Themen 5
P Compiler-Fehler public static void main, Grundloses Problem Java Basics - Anfänger-Themen 4
A Cannot make a static reference to the non-static field Java Basics - Anfänger-Themen 6
W Variablen Automatisch static? Java Basics - Anfänger-Themen 3
O Warum muss ich static? Java Basics - Anfänger-Themen 6
O Static Java Basics - Anfänger-Themen 15
E non-static method und static context Java Basics - Anfänger-Themen 15
B non static interface Methode Java Basics - Anfänger-Themen 16
J KeyListener,MouseListener,MouseMotionListener und static Java Basics - Anfänger-Themen 7
S Static void Methode Java Basics - Anfänger-Themen 12
Q Unterschied zwischen static und keinem Modifier Java Basics - Anfänger-Themen 15
O Main-Methode static modifier umgehen Java Basics - Anfänger-Themen 10
J Variablen non-static variable Java Basics - Anfänger-Themen 2
P Erste Schritte public oder static oder wie? Java Basics - Anfänger-Themen 7
J static - Methoden Java Basics - Anfänger-Themen 22
X Erste Schritte Methode ohne Static Java Basics - Anfänger-Themen 4
B Classpath static block - Verwirrung Java Basics - Anfänger-Themen 2
S Methoden Warum ist sleep static? Java Basics - Anfänger-Themen 9
K static, non-static Krise Java Basics - Anfänger-Themen 4
R Schlüsselworte static Methoden und Imports Java Basics - Anfänger-Themen 10
M Methoden "Non-static method xy cannot be referenced from a static context" Java Basics - Anfänger-Themen 20
J Probleme mit static generische Klasse Java Basics - Anfänger-Themen 6
S Aufruf Einer Methode aus einer anderen Klasse - Static Fehler Java Basics - Anfänger-Themen 4
W Methodenaufruf innerhalb einer Klasse - static vs. this Java Basics - Anfänger-Themen 3
K Objekt erstellen - error: non-static variable this cannot be referenced from a static context Java Basics - Anfänger-Themen 17
H non-static method cannot be referenced from a static context Java Basics - Anfänger-Themen 2
Y Gebrauch von static Java Basics - Anfänger-Themen 29
L Cannot make a static reference to the non-static method Java Basics - Anfänger-Themen 6
T getClass() im static Kontext Java Basics - Anfänger-Themen 12
S Frage zu public static Java Basics - Anfänger-Themen 29

Ähnliche Java Themen

Neue Themen


Oben