Datentypen Aufzählunsdatentyp in mehreren Klassen verwenden?

Hallo Leute,

ist es möglich, einen Aufzählungsdatentyp in eine andere Klasse (also nicht die Klasse, in der der Datentyp deklariert wurde) mitzunehmen?

Ich stehe vor folgendem Problem:

Ich habe hier eine Objektklasse mit einem Konstruktor:

Java:

Java:
public class Objektklasse
{
    enum Gewinnklassen {acht,sieben,sechs,fuenf,vier,drei,zwei,eins,keine};
    public Gewinnklassen [] gewinnklasse; /**das soll ein Array sein, der nur aus
    *meinen oben definierten Datentyp besteht*/

public Objektklasse
{
     this.gewinnklasse = new Gewinnklassen [12] /**hier weise ich dem Objektfeld
     *"gewinnklasse", das ja wie oben deklariert ein Array aus meinem
     *Aufzählungsdatentyp ist, ein 12 dimensionales Array dieser Art zu*/
}
}


Ich habe ausserdem eine weitere Klasse, in der ich wieder den Aufzählunsdatentyp "Gewinnklassen" benötige. Muss ich diesen dann nochmal definieren?

Falls ich das nämlich tue, sieht meine Klasse "Gewinnermittlung" so aus:

Java:
public class Gewinnermittlung
{
   
    enum Gewinnklassen {acht,sieben,sechs,fuenf,vier,drei,zwei,eins, keine};

    public static void weiseGewinnklassezu()
    {
        int richtige = bestimmeRichtige();

        Objektklasse tipp = new Objektklasse (); //erzeugt ein neues Objekt

        tipp.gewinnklasse = bestimmeGewinnklasse(richtige); /*soll das Objektfeld
        *für die Gewinnklasse meines neu erzeugten Objekts "tipp" mit dem
        *Rückgabewert der Methode befüllen */       
           
    }       


    public static Gewinnklassen bestimmeGewinnklasse(int richtige) /*das hier
    ist eine Methode, die einen Wert des Datentyps "Gewinnklassen" zurückliefert*/
    {
          Gewinnklassen gewinnklasse; /*ich deklariere eine Variabel des Datentyps
          "Gewinnklasse"*/

          if (richtige == 3) gewinnklasse = Gewinnklassen.acht;

          return gewinnklasse;
     }
}

Wenn ich das so mache und den Aufzählunsdatentyp "Gewinnklassen" in jeder Klasse einmal deklariere, bekomme ich bei der Zuweisung "tipp.gewinnklasse = bestimmeGewinnklasse(richtige)" die Fehlermeldung:
incompatible types - found Gewinnermittlung.Gewinnklassen but expected Objektklasse.Gewinnklassen

Denkt der der Compiler also, dass "Gewinnklassen" zwei verschiedene Datentypen sind, weil sie in zwei versch. Klassen definiert sind?!


Wenn ich die erneute Definition weglasse, dann kennt er in der Klasse "Gewinnbestimmung" den Datentyp nicht - ist ja auch klar.

Wie bekomme ich's also hin, dass
- ich ein Objektfeld dieses Datentyps habe
- in einer anderen Klasse aber genauso noch mit haargenau demselben Datentyp operieren kann
?

Kann ich den Datentyp irgendwie superglobal definieren?

Danke schonmal für die Antwort.

Achja: ich habe diese Frage auch in einem anderen Forum gestellt, damit ich mir mehrere Meinungen einholen kann (bin leider kein sehr versierter Programmierer)
 

Murray

Top Contributor
Die Standardlösung wäre wohl, den Aufzählungstyp nicht innerhalb einer anderen Klasse, sondern in einer eigenen Datei zu deklarieren.

//EDIT:schon wieder zu spät
 
Wow, danke für die schnellen Antworten :)

Das mit der Klasse hört sich interessant an. Könntest du das kurz erklären?

Und das mit der Datei auch, und wenn du sagst, dass das die Standardlösung ist, dann gleich noch mehr. Hast du auch dazu ein paar Worte?
 

eRaaaa

Top Contributor
Naja im Moment stehen halt deine Aufzählung innerhalb einer Klasse...man kann eben auch eine neue java Datei erstellen wo dann eben nur die Aufzählungen stehen
Java:
public enum Gewinnklassen {
    acht,sieben,sechs,fuenf,vier,drei,zwei,eins,keine;
}

= Gewinnklassen.java :arrow: Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 10.3 Die Spezial-Oberklasse Enum

Zur Vervollständigung: Wahrscheinlich würde es auch gehen wenn du mittels Objektklasse.Gewinnklassen.acht zugreifst
 
Wo wir gerade bei enums sind.

Was hat es mit der Möglichkeit, sich das nächste Element der Aufzählung per "nextElement" wiedergeben zu lassen auf sich?

Ist diese "Methode" ein Interface und/oder kann ich die einfach mit einbauen?

Bei der Ermittlung der Gewinnklassen wäre sowas nämlich echt hilfreich.

Leider hatte ich Interfaces noch nicht in der Vorlesung.
 

eRaaaa

Top Contributor
Wo hast du nextElement her? Ein Enum-Objekt hat keine Methode nextElement ??!
Es gibt ordinal() womit du die Ordinalzahl ("Stelle") ermitteln kannst (Bsp: fuenf = 3) und es gibt values() was dir ein Array mit allen Enum-Objekten/Konstanten zurückliefert..

/edit: ach du meinst wohl Enumeration (Java Platform SE 6) ?
 
Zuletzt bearbeitet:
Wo hast du nextElement her? Ein Enum-Objekt hat keine Methode nextElement ??!
Es gibt ordinal() womit du die Ordinalzahl ("Stelle") ermitteln kannst (Bsp: fuenf = 3) und es gibt values() was dir ein Array mit allen Enum-Objekten/Konstanten zurückliefert..

/edit: ach du meinst wohl Enumeration (Java Platform SE 6) ?

Ja, genau das meine ich.
Aber scheinbar ist dieses Interface "Enumeration" und enum als Aufzählunsdatentyp nicht dasselbe, oder?

Das "ordinal" klingt aber auch gut. Damit kann ich also die Ordinalzahl abprüfen. Ist es auch umgekehrt möglich, dass ich eine Variable mithilfe der Ordinalzahl mit einem bestimmten Enumwert besetze?

Bsp:

enum Aufzählung = {eins, zwei, drei};

Aufzählung variable;

//die Zuweisung "variable = Aufzählung.eins"; pseudomäßig ausgedrückt durch

variable = "Aufzählung(1)" //ich will also auf das Element mit der Ordinalzahl 1 zugreifen
 

eRaaaa

Top Contributor
Ja über das Array/values(). Aber aus dem Grunde weil es eben ein Array ist, fängt der Index bei 0 an, nicht 1, also wäre "eins" = 0
Java:
Gewinnklassen variable = Gewinnklassen.values()[0]; // acht

/edit: kleiner Zusatz: da es Konstanten sind, solltest du diese besser auch so kennzeichnen = groß schreiben
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
U Funktionale Interfaces mit mehreren abstrakten Methoden? Java Basics - Anfänger-Themen 8
C Problem mit mehreren Methoden + Scanner Java Basics - Anfänger-Themen 5
Poppigescorn String mit mehreren Wörtern füllen? Java Basics - Anfänger-Themen 4
CptK Interface Functional interface mit mehreren Methoden Java Basics - Anfänger-Themen 6
P Objekt in mehreren Methoden verwenden. Java Basics - Anfänger-Themen 3
B Threads Problem mit mehreren Threads Java Basics - Anfänger-Themen 38
freudianslip if-Statement mit mehreren Zahlenwerten Java Basics - Anfänger-Themen 4
B Zeitgleiches Arbeiten am Code mit mehreren Personen? Java Basics - Anfänger-Themen 7
M Arrays mit mehreren Werten über JOptionPane initialisieren Java Basics - Anfänger-Themen 12
S Und-Abfrage mit mehreren Ungleich-Operatoren Java Basics - Anfänger-Themen 17
D Aufruf von mehreren Activities bringt die app zum Absturz Java Basics - Anfänger-Themen 5
G String mit mehreren Attributen aufteilen Java Basics - Anfänger-Themen 6
B Funktion mit mehreren Rückgabewerten aka Prozeduren? Java Basics - Anfänger-Themen 12
L Wie geht man bei mehreren Action Klassen vor? Java Basics - Anfänger-Themen 0
O compareTo nach mehreren Kriterien Java Basics - Anfänger-Themen 13
B Java Mail: suchen von mehreren Emailadressen Java Basics - Anfänger-Themen 5
R Antwort vom Server an mehreren Clients senden Java Basics - Anfänger-Themen 3
G Refactoring von mehreren identischen Klassen Java Basics - Anfänger-Themen 36
K Geburtsdaten von Mehreren Personen speichern und Alter ausgeben Java Basics - Anfänger-Themen 11
T Interface Methode im Interface mit mehreren Parametern Java Basics - Anfänger-Themen 10
F Problem beim entfernen von mehreren Listenelementen auf einmal (Programmierung des Spiels Arschloch) Java Basics - Anfänger-Themen 1
S boolean Wert von mehreren int Möglichkeiten abfragen ? Java Basics - Anfänger-Themen 4
E if-Bedingung mit mehreren Möglichkeiten ? Java Basics - Anfänger-Themen 6
B MVC Struktur mit mehreren Szenen - wer schaut mal bitte drüber? Java Basics - Anfänger-Themen 2
A String mit mehreren Zeilen splitten Java Basics - Anfänger-Themen 4
U Schleife mit mehreren Bedingungen ? Java Basics - Anfänger-Themen 29
C OOP Von mehreren Klassen aus auf das selbe Objekt zugreifen Java Basics - Anfänger-Themen 8
M Erste Schritte Speichern von mehreren Daten Java Basics - Anfänger-Themen 3
B Variable in mehreren Klassen nutzen Java Basics - Anfänger-Themen 4
D Eine MySQL Verbindung in mehreren Klassen Java Basics - Anfänger-Themen 8
F Interface Nach mehreren Kriterien sortieren Java Basics - Anfänger-Themen 2
S OOP Variablen zwischen mehreren Klassen Java Basics - Anfänger-Themen 11
F Http Post von mehreren Daten Java Basics - Anfänger-Themen 5
Dechasa Interface JFrame mit mehreren Übereinander liegenden JPanel Java Basics - Anfänger-Themen 5
R Eine Datei mit mehreren Zeilen beschreiben Java Basics - Anfänger-Themen 5
S PHP Aufruf mit mehreren Variablen Java Basics - Anfänger-Themen 2
H Klassen Auf eine Hashtable aus mehreren Klassen zugreifen Java Basics - Anfänger-Themen 12
N Aufgabe: Pizza Konstruktor mit mehreren beliebigen Durchmesser/Preiskombinationen Java Basics - Anfänger-Themen 8
R Objekt erstellen - Attribute mit mehreren Werten Java Basics - Anfänger-Themen 1
F Selben Code in mehreren Projekten Java Basics - Anfänger-Themen 1
I Listen sortieren bei mehreren Listen zu einer Java Basics - Anfänger-Themen 2
M JUnit Testmethoden mit mehreren assert Methoden Java Basics - Anfänger-Themen 1
G Klassen Problem mit mehreren Klassen Java Basics - Anfänger-Themen 2
kaoZ Input/Output Android : Deserialisieren von mehreren Objekten in einer Datei Java Basics - Anfänger-Themen 0
J Menü mit mehreren Bildern Java Basics - Anfänger-Themen 5
kaoZ Input/Output Einlesen von mehreren Zeilen Java Basics - Anfänger-Themen 4
T Variablen Zufallsgenerator mit mehreren Variablen Java Basics - Anfänger-Themen 3
Devil0s Entwicklung mit mehreren Leuten Java Basics - Anfänger-Themen 7
3 JLabel - Text in mehreren Zeilen zentrieren Java Basics - Anfänger-Themen 5
R Compiler-Fehler Auf selben Array in mehreren "cases" vom "Switch" zugreifen Java Basics - Anfänger-Themen 11
K Vererbung Methoden in klassen auslagern und in mehreren Klassen verfügbar machen Java Basics - Anfänger-Themen 8
D Eine Variable in mehreren "switch" Java Basics - Anfänger-Themen 24
P Liste in einer Klasse füllen und mehreren anderen Klassen lesend verwenden Java Basics - Anfänger-Themen 5
propra Objekte in mehreren Listen Java Basics - Anfänger-Themen 6
T GUI Prog. mit mehreren Klassen Java Basics - Anfänger-Themen 4
K Erste Schritte Eingabetext besteht aus mehreren Zeilen? Java Basics - Anfänger-Themen 3
D javac zum Kompilieren von mehreren Dateien Java Basics - Anfänger-Themen 6
P Auslesen von mehreren XML Dateien - Fehler Java Basics - Anfänger-Themen 11
M Java Berechnung mit mehreren Lösungen? Java Basics - Anfänger-Themen 9
T List mit mehreren gleichen Strings bereinigen Java Basics - Anfänger-Themen 4
firefexx Input/Output close() bei mehreren Streams Java Basics - Anfänger-Themen 5
L Server mit mehreren Clients Java Basics - Anfänger-Themen 25
C Methoden Methoden mit mehreren Rückgabewerten Java Basics - Anfänger-Themen 11
D OOP Objekt in mehreren Objekten Java Basics - Anfänger-Themen 3
T Hashmap mit mehreren Werten Java Basics - Anfänger-Themen 9
M Backslash aus mehreren einen machen? Java Basics - Anfänger-Themen 7
M Frame mit mehreren areas Java Basics - Anfänger-Themen 14
P Wie mehreren Threads Aufgaben zuweisen und abarbeiten lassen? Java Basics - Anfänger-Themen 15
Dit_ Aktualisieren von mehreren Views Java Basics - Anfänger-Themen 2
S Datentypen In mehreren Dateien Strings ersetzen Java Basics - Anfänger-Themen 14
B Swing Applikation mit mehreren Klassen Java Basics - Anfänger-Themen 2
J Matheaufgabe aus String mit mehreren Operatoren Java Basics - Anfänger-Themen 16
Q If-Abfrage mit mehreren Bedingungen Java Basics - Anfänger-Themen 6
U Umsetzungsfrage: Personen mit mehreren "Rollen" Java Basics - Anfänger-Themen 9
D Datentypen Liste mit Objekten aus mehreren Klassen Java Basics - Anfänger-Themen 3
P Doppelte Einträge in mehreren Textfiles finden und ausgeben Java Basics - Anfänger-Themen 8
M String mit mehreren Zahlen in Integer-Array Java Basics - Anfänger-Themen 2
S Infos aus mehreren JVMS verbinden Java Basics - Anfänger-Themen 3
ModellbahnerTT Klassen in mehreren Projekten benutzten Java Basics - Anfänger-Themen 3
J Performance Vergleich von if-Abfragen mit mehreren Bedingungen Java Basics - Anfänger-Themen 9
B Identifikation eines einzelnen Buttons aus mehreren Buttons per Schleife erzeugten Java Basics - Anfänger-Themen 4
M property mit mehreren werten Java Basics - Anfänger-Themen 3
H Vergleichen mit mehreren Textdateien Java Basics - Anfänger-Themen 2
X Konfiguration einer Anwendung aus mehreren Dateien Java Basics - Anfänger-Themen 11
K Rekusion bei Bäumen mit mehreren Blättern Java Basics - Anfänger-Themen 7
G Sortieren von mehreren klassen Java Basics - Anfänger-Themen 7
-horn- EINE setter/getter klasse aus mehreren klassen befüllen Java Basics - Anfänger-Themen 13
G art hashmap mit mehreren werten pro key Java Basics - Anfänger-Themen 2
L Zeit stoppen in mehreren Threads Java Basics - Anfänger-Themen 2
C Programm mit mehreren Dateien Java Basics - Anfänger-Themen 2
G [Threads]: Mit mehreren Threads 1 ArrayList durchlaufen Java Basics - Anfänger-Themen 19
V Screenshot von mehreren Monitoren machen Java Basics - Anfänger-Themen 6
F aus mehreren Programmen ein Programm mit Threads machen Java Basics - Anfänger-Themen 7
S equals( mit mehreren möglichkeiten) Java Basics - Anfänger-Themen 18
P JTree mit mehreren Wurzeln Java Basics - Anfänger-Themen 2
B Kürzesten Weg zwischen mehreren Punkten finden (rekursiv) Java Basics - Anfänger-Themen 5
H Ein Hauptprogramm mit mehreren Fenstern . Java Basics - Anfänger-Themen 6
M Kann man im Filter nach mehreren Strings filtern lassen Java Basics - Anfänger-Themen 11
E ArrayList mit mehreren Werten Java Basics - Anfänger-Themen 10
M Cut, Copy und Paste mit mehreren Textfeldern? Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben