Enum yapisini anlayabilmek icin su ornegi vermek istiyorum, bir kahve dukkaninda short, tall, grande ,venti boyutlarinda secenekler mevcuttur yani bizim ihtiyacimiz olan degisken sadece bu degerleri almalidir. Boyle bir yapiyi Java bize enum aracigiliyla saglayabilir.
enum CoffeeSize { SHORT , TALL , GRANDE ,VENTI };
enum Javada bir anahtar kelimedir. Burada verdigim SHORT, TALL gibi isimler buyuk harf olmak zorunda degil fakat bir Code Convention dir.
Enumlar kendilerine ozel sinif yapisinda tanimlanabildigi gibi bir sinifin uyeside olabilirler. Fakat bir metot icerisinde tanimlanamazlar.
Oncelikle bir sinif disarisinda tanimlayalim. enumlar sinif uyesi olarak tanimlanmadiginda, private veya protected olarak tanimlanamazlar.
JavaCoffeeTest.java
enum CoffeeSize { SHORT, TALL, GRANDE, VENTI }; class JavaCoffee { CoffeeSize size; } public class JavaCoffeeTest { public static void main(String[] args) { JavaCoffee coffee = new JavaCoffee(); coffee.size = CoffeeSize.VENTI; System.out.println(coffee.size); } }
Ornegimizi inceleyecek olursak bir enum tanimladik, JavaCofee isimli sinifimizin bu enum turunde bir uyesi(member) var (size).
main metodumuz icerisinde bir JavaCoffee nesnesi olusturuyoruz ve size degiskenine VENTI degerini atiyoruz.