Domo est Fugito.
Récemment, chaque jour, je fais progresser l'apprentissage orienté objet. Au fur et à mesure, ni classe ni interface, Rencontré un type appelé enum.
Quand je l'ai recherché, il s'appelait "type d'énumération".
Le type d'énumération n'est ni classe ni interface, "déclaration de troisième classe". La caractéristique est que ** une instance de ce type est créée en même temps que la déclaration ** C'est. Et après cela, les instances de ce type sont brutes Il ne peut pas être créé et seule l'instance créée au moment de la déclaration peut être utilisée. Cette "propriété que la mauvaise valeur ne peut pas être utilisée" est garantie par "** type safety" Il est (apparemment) appelé ** ".
public enum Language{
JAPANESE,
ENGLISH,
CHINESE
}
↑ Au moment de la déclaration, instance de type de langue "JAPANESE", "ANGLAIS" et "CHINOIS" sont créés. Ceci pour tout génie Après cela, vous ne pouvez pas créer une nouvelle instance de type Language.
Lors de l'utilisation d'une instance de type énumération, "(type name). (Enumerator = instance name)" Décrivez comme ça. Parce qu'une instance d'un type d'énumération se produit lorsque le type est déclaré Parce que c'est une instance statique qui existe depuis (apparemment).
import java.util.Arrays;
import java.util.List;
public class UseEnum{
public static void main(String[] args){
List<Country> list = Arrays.asList(
new Country("Japan", Language.JAPANESE),
new Country("America", Language.ENGLISH),
new Country("England", Language.ENGLISH),
new Country("CHINA", Language.CHINESE) );
list.forEach(System.out::println);
}
}
・ Enumeration type enum est l'une des déclarations de classe -La caractéristique est que "une instance est créée en même temps que la déclaration de type" ・ "La sécurité de type est garantie" que "une valeur incorrecte ne peut pas être spécifiée" " -L'instance de type énumération devient une instance statique ・ Par conséquent, lors de son utilisation, décrivez-le sous la forme "(nom du type). (Enumérateur)".
(P.S.) J'étudierai plus (+ o +)
Recommended Posts