Výčet není nic jiného než sada pojmenovaných konstant, které pomáhají při definování vlastních . Když můžete identifikovat typ proměnných v programu, je snadné je definovat. Tak, Výčet se používá, když již víte o všech hodnotách v době kompilace. V tomto článku vám řeknu, jak definovat výčet v pomocí příkladů.
V tomto článku se budu věnovat níže uvedeným tématům:
- Co je výčet v Javě?
- Definování výčtu v Javě
- Výčet pomocí případu přepínače
- Metoda Values () a ValueOf ()
- Výčet pomocí konstruktoru, proměnné instance a metody
Začněme!
Co je výčet v Javě?
Výčet je v podstatěseznam pojmenované konstanty. V Javě definuje typ třídy. Může mít konstruktéři , metody a proměnné instance . Je vytvořen pomocíthe výčet klíčové slovo. Ve výchozím nastavení je každá konstanta výčtu veřejnost , statický a finále . I když výčet definuje typ třídy a má konstruktory, nemusíte vytvořit instanci výčet použitímthe Nový proměnná. Proměnné výčtu se používají a deklarují stejným způsobem jako u primitivní proměnné.
Pojďme se nyní podívat na podrobnosti výčtu a pochopit jeho syntaxi a deklaraci.
Definování výčtu v Javě
Deklaraci výčtu lze provést buď mimo a nebo uvnitř třídy. Ale nemůžeme deklarovat Enum uvnitř metody. Vezměme si malý příklad, abychom porozuměli jeho deklaraci. Nejprve vám řeknu, jak prohlásit enum mimo třídu.
rekurze fibonacci c ++
1. Deklarace výčtu v Javě mimo třídu
enum Directions {// enum klíčové slovo se používá místo klíčového slova třídy SEVER, JIH, VÝCHOD, ZÁPAD} veřejná třída enumDeclaration {public static void main (String [] args) {Directions d1 = Directions.EAST // nové klíčové slovo není nutné vytvořit nový odkaz na objekt System.out.println (d1)}}
Výstup:
VÝCHODNÍ
2. Deklarace výčtu v Javě uvnitř třídy
public class enumDeclaration {enum Directions {NORTH, SOUTH, EAST, WEST} public static void main (String [] args) {Directions d1 = Directions.EAST // nové klíčové slovo není nutné k vytvoření nového odkazu na systém System.out.println (d1)}}
Výstup:
VÝCHODNÍ
První řádek uvnitř typu enum by měl být seznam konstant. Pak můžete použít metody, , a stavitel . V zásadě enum představuje skupinu proměnných a konstant.
Poznámka:
- Enum v zásadě zvyšuje bezpečnost typu.
- Lze jej různě použít v příkladech spínacích případů.
- Enum lze snadno procházet.
- Výčet má pole, konstruktory a metody.
- Enum v zásadě implementuje mnoho rozhraní ale nemůže rozšířit žádnou třídu, protože to interně rozšiřuje třídu Enum .
Nyní, když víte, jak deklarovat a používat enum ve vašem programu, pojďme pochopit, jak to implementovat pomocí příkazů switch case.
Výčet pomocí příkazu Switch
Hodnotu výčtu lze také použít k ovládání příkazu switch. Je nutné, aby všechny příkazy case musely používat konstanty ze stejného výčtu, jaký používá příkaz switch. Níže uvedený příklad ukazuje totéž.
balíček Edureka import java.util. * enum Directions {SEVER, JIH, VÝCHOD, ZÁPAD} veřejná třída Test1 {public static void main (String [] args) {Directions d = Directions.SOUTH switch (d) {// Název konstanty výčtu se používají bez jejich případu výčtu SEVER: // lze použít pouze konstanty definované v enum směrech lze použít případ přerušení System.out.println ('severní směr') JIŽNÍ: System.out.println ('jižní směr') EAST: System.out.println ('East directiion') případ přerušení ZÁPAD: System.out.println ('West directiion') break}
Výstup:
Jižní směr
Doufám, že jste pochopili, jak implementovat příkaz switch pomocí výčtu. Pojďme nyní dále a pochopme, co to je Hodnoty () a ValueOf () metoda a rozdíl mezi nimi.
Metoda Values () a ValueOf ()
Hodnoty (): Když vytvoříte výčet, Překladač Java interně přidává hodnoty () metoda. Tato metoda vrací pole obsahující všechny hodnoty výčtu.
Syntax:
veřejné statické výčty typu [] hodnoty ()
Hodnota(): Tentometoda se používá k vrácení konstanty výčtu, jejíž hodnota se rovná předán jako argument při volání této metody.
co je třída skeneru v Javě
Syntax:
public static enum-type valueOf (String str)
Nyní si vytvořme program, který těmto metodám porozumí podrobněji.
enum Colors {black, red blue, pink, white} class Test {public static void main (String args []) {Colors c System.out.println ('All constants of enum type Colors are:') Colors cArray [] = Colors.values () // vrací pole konstant typu Colors pro (Colors a: cArray) // pomocí smyčky foreach System.out.println (a) c = Colors.valueOf ('red') System.out.println ('Líbí se mi' + c)}}
Výstup:
Všechny konstanty typu enum Barvy jsou: černá červená modrá růžová bílá Mám rád červenou
Takto můžete použít Hodnoty () metoda vrátí pole, které obsahuje všechny výčty přítomné v metodě a Hodnota() vrátit konstantu výčtu. Doufám, že jste pochopili tento koncept.
Nyní pojďme dále a pochopme implementaci Enumeration v Javě pomocí stavitel , proměnná instance a metoda.
Výčet pomocí konstruktoru, proměnné instance a metody
V zásadě může výčet obsahovat konstruktor a provádí se samostatně pro každou konstantu výčtu v době načítání třídy výčtu. Nejen to, výčet může také vytvářet konkrétní metody. Pojďme napsat kód, který pochopí implementaci výčtu pomocí konstruktoru, proměnné instance a metody.
jak zastavit java program v kódu
enum Student {mack (11), Birdie (10), Son (13), Victor (9) private int age // proměnná definovaná v enum Student int getage {návratový věk} // metoda definovaná v enum Student public Student (int age ) // konstruktor definovaný v enum {this.age = age}} třídě EnumDemo {public static void main (String args []) {Student S System.out.println ('Age of Victor is' + Student.Victor.getage ( ) + 'roky')}}
Výstup:
Věk Victora je 9 let
Tady, jakmile deklarujeme proměnnou enum ( Student S ), konstruktor je volán jednou a inicializuje věkový parametr pro každou konstantu výčtu s hodnotami zadanými v závorkách. Tak to funguje.
Tím se dostáváme na konec článku o výčtu v Jáva . Doufám, že vám to připadalo poučné.
Podívejte se na Edureka, důvěryhodná online vzdělávací společnost se sítí více než 250 000 spokojených studentů po celém světě. Jsme tu, abychom vám pomohli s každým krokem na vaší cestě, abychom se kromě otázek týkajících se tohoto rozhovoru pro javu stali i učebním plánem, který je určen pro studenty a profesionály, kteří chtějí být vývojářem Java.
Máte na nás dotaz? Uveďte to prosím v sekci komentářů v tomto článku „Výčet v jazyce Java“ a my se vám ozveme co nejdříve.