Bonjour,
je veux savoir quel type prends "Titre" dans cet exemple
et MerciCode:enum Titre {TOTO,BOBO, DODO};
Version imprimable
Bonjour,
je veux savoir quel type prends "Titre" dans cet exemple
et MerciCode:enum Titre {TOTO,BOBO, DODO};
Salut
Qu'entends tu par "quel type prend Titre" ? Tu as un type Titre que tu peux utiliser ensuite en tant que tel...
Titre n'a pas de type, vu que dans le cas que tu as présenté, Titre est un type.
Merci c'est très bien
Salut, ma question est est ce qu'on peut place "enum" dehors de la class ou dans une class précise?
Un enum peut être placé partout où on peut placer une classe statique.
Pour répondre, ça peut être :
- Dans son propre fichier comme la plupart des classes,
- À côté d'une classe, comme certaines classes non-publiques (à noter que l'enum, tout comme ces classes, ne peut alors pas être public)
- À l'intérieur d'une classe, comme les "nested class".
Ceci étant parce qu'un enum n'est jamais qu'une classe statique.
Voici mon fichier Voiture.java :
Voici mon fichier Regarde.java :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 public class Voiture { private Roue roue1; private Roue roue2; private Roue roue3; private Roue roue4; private Marque marque; public Marque getMarque() { return marque; } public enum Marque { VOLMO, SIVCA, CERMEDES } }
Comme tu peux le voir, mon enum Marque est un type imbriqué à la classe Voiture. Mais il est public, donc utilisable partout.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 public class Regarde { public String regarde(Voiture voiture) { switch(voiture.getMarque()) { case VOLMO: return "C'est une voiture blanche"; case SIVCA: return "C'est une voiture grise"; case CERMEDES: return "C'est une voiture noire"; default: throw new IllegalArgumentException("Ce n'est pas une voiture"); } } }
Notamment je l'utilise dans ma classe Regarde, pour faire un switch sur une variable de type Marque.
Je comprends, et je vois que je peux aussi faire enum dans dans le fichier avant la classe Voiture et ça marche toujours, c'est bien ça?
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 enum Marque { VOLMO, SIVCA, CERMEDES } public class Voiture { private Roue roue1; private Roue roue2; private Roue roue3; private Roue roue4; private Marque marque; public Marque getMarque() { return marque; } }
Tout à fait.
Toutefois, vu que cet enum n'est pas public, il est package-private : accessible seulement par les classes du même package.