Enum özellikleri
- Java kursu
- Başlangıç
- Ders 102/116
- 4 dk
Enum sabitlerine özellik eklemeyi öğrenirsin.
Enum'a özellik ekle
Bir enum sabiti ek bilgi taşıyabilir. Bunun için enum içine alan ve yapıcı metot eklersin. Her sabit bu yapıcıya bir değer geçirir.
enum Coffee {
SMALL("küçük"), LARGE("büyük");
String label;
Coffee(String label) {
this.label = label;
}
}Yapıcı metot her zaman private olur; dışarıdan yeni sabit yaratılamaz. Sabitin yanına parantez içinde değer yazılır ve yapıcı bu değeri alır. Böylece her sabit kendine özgü veriyle gelir ve kod daha okunaklı olur.
Alanlara erişim
Enum sabitinin alanına nokta ile erişirsin. Yapıcı bu alanı doldurur; sen yalnızca okursun. Alan genelde final yapılır; çünkü sabitler değişmez.
Coffee c = Coffee.LARGE;
System.out.println(c.label); // büyükBirden fazla alan da eklenebilir; örneğin bir etiket ve bir fiyat. Yapıcı parametre sırasına uyulmalıdır. Alanları public final yapmak dış erişime izin verir; private yapıp bir yöntemle döndürmek de yaygındır.
Uygulama Kahve etiketini yazdır
SMALL ve LARGE sabitlerinden oluşan bir Coffee enumu tanımla. Her sabit bir String label alsın (SMALL için küçük, LARGE için büyük). LARGE sabitinin etiketini yazdır.
Başlangıç kodu
public class Main {
public static void main(String[] args) {
// Coffee enumunu tanımla, LARGE'ın etiketini yazdır
}
}
// Coffee enumunu buraya tanımlaÖrnek çözüm
enum Coffee {
SMALL("küçük"), LARGE("büyük");
String label;
Coffee(String label) { this.label = label; }
}
// main içinde:
System.out.println(Coffee.LARGE.label);Beklenen çıktı
büyük
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Yapıcıya değer geçir
enum Coffee {
SMALL("küçük"), LARGE("____");
String label;
Coffee(String label) { this.label = label; }
}
enum Coffee {
SMALL("küçük"), LARGE("büyük");
String label;
Coffee(String label) { this.label = label; }
}
Açıklama: LARGE sabiti 'büyük' etiketini alır.
2 Enum yapıcı metodu ne erişim düzeyinde olur?
- public
- private Doğru cevap
- varsayılan (package)
- protected
Açıklama: enum yapıcısı her zaman private'dir; dışarıdan yeni sabit yaratılamaz.
3 Kavramı açıklamasıyla eşleştir
| Kavram | Anlamı |
|---|---|
label |
Sabitin etiketi |
Coffee(String) |
Yapıcı metot |
this.label |
Atama |
SMALL("küçük") |
Değer geçirilir |