Avatar billede eerikk Nybegynder
16. september 2007 - 16:36 Der er 8 kommentarer og
1 løsning

ENUMS i konstruktøren til nye objekter

Jeg har en klasse Musik hvor jeg deklarerer nogle enums og en kode som String:

clas Musik {

enum GENRE {ROCK, JAZZ, SOUL, KLASSISK}

String kode = "00000000"

//konstruktør modtager kode og genre
public Musik(Stirng kode, GENRE genre) {

//bla....
}
}

Mit problem er at jeg i en Test-klasse ikke kan få lov til at lave nye ojekter med denne enum-type! Den kender ikke min "GENRE"-enum tilsyneladende.

Jeg skriver noget i retning af

Musik test = new Musik("12345678", GENRE.JAZZ);

Men den kender bare IKKE min enumeration "GENRE". Hvad skal jeg gøre hvis jeg vil give en enumeration i konstruktøren når jeg laver en ny instans af Musik-klassen??
Avatar billede arne_v Ekspert
16. september 2007 - 16:41 #1
Gør enum GENRE public.
Avatar billede arne_v Ekspert
16. september 2007 - 16:42 #2
Enten behold den indeni class Musik og refere til den som Musik.GENRE eller bedre
smid den ud i sin egen fil så du kan bruge den bare som GENRE.
Avatar billede arne_v Ekspert
16. september 2007 - 16:42 #3
Husk at en enum skal behandles helt ligesom en class.
Avatar billede eerikk Nybegynder
16. september 2007 - 16:47 #4
Jeg gør GENRE public, men det virker alligvel ikke. Den kender ikke symbol: variable GENRE.

Hvordan kender min testklasse den enumeration der er deklareret i min entitetsklase?
Avatar billede eerikk Nybegynder
16. september 2007 - 16:52 #5
Er jeg virkelig nødt til at have den i sin egen fil for at både klassen dr bruger den og klassen der tester og instantierer den klasse der bruger den, kan se den?
Avatar billede arne_v Ekspert
16. september 2007 - 16:53 #6
Nej du burde kunne referere til den som Musik.GENRE hvis GENRE er public (og Musik er public).
Avatar billede arne_v Ekspert
16. september 2007 - 16:53 #7
Men jeg ville hive den ud i separat fil.

En enum er en class.
Avatar billede eerikk Nybegynder
16. september 2007 - 17:10 #8
OK Arne - tak for det. Det var rart at få styr på. Svar gerne for point ;)
Avatar billede arne_v Ekspert
16. september 2007 - 17:24 #9
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester