Enum außerhalb einer Klasse?

halloschorle

Mitglied
Hallo, haben grade eine Diskussion mit unserem Dozenten.

Beispiel wir haben ein enum erstellt:

Java:
public enum Tier {HUND("Wau"), KATZE("Miau"), ESEL("IA"), HAHN("Kikeriki");
	private final String Geraeusche;

Tier(String Gerauesche){
this.Geraeusche = Gerauesche;
}
public String zeigeTiereundGerauesche(){
	return Geraeusche;
	}



}

Er sagt bei diesem Beispiel steht das enum außerhalb der Klasse.

Ich sage ein enum ist hier eine spezielle Oberklasse so wie anderswo eine "class".

Was stimmt jetzt? :bloed:

Gruß
Schorle und schonmal Danke vorab!
 
Oberklasse? Was verstehst du unter einer Oberklasse? (klingt für mich eher nach Vererbung)
Wenn dein Code nicht in einer anderen Klasse enthalten ist, ja dann ist das keine "inner class".
Also hast du eine Tier.java in welcher der Code von Oben drinnen steht?


Beispiel Inner class:

Java:
public class Test {
    public static void main(String[] args) {
        new Test();
    }
 
    public enum Tier {
    	HUND("Wau"), KATZE("Miau"), ESEL("IA"), HAHN("Kikeriki");
    	private final String Geraeusche;

    	Tier(String Gerauesche) {
    		this.Geraeusche = Gerauesche;
    	}

    	public String zeigeTiereundGerauesche() {
    		return Geraeusche;
    	}

    }
}


Eigene Klasse in eigener Datei:
Java:
public enum Tier {
	HUND("Wau"), KATZE("Miau"), ESEL("IA"), HAHN("Kikeriki");
	private final String Geraeusche;

	Tier(String Gerauesche) {
		this.Geraeusche = Gerauesche;
	}

	public String zeigeTiereundGerauesche() {
		return Geraeusche;
	}

}
 
Ein enum ist keine "Oberklasse" sondern eben das was es darstellt, eine Enumeration ( also eine Ansammlung ), und selbstverständlich ist ein enum "eigenständig" wie auch eine Klasse für sich,

Ein enum kann sowohl als auch innerhalb einer Klasse oder einer separaten Datei Deklariert werden.
 
Zuletzt bearbeitet:

Zurück
Oben