מילת מפתח enum
ל- Java יש סוג מיוחד של סוג נתונים הנקרא Enum, שהוא בדרך כלל אוסף (סט) של קבועים. ליתר דיוק, סוג Java Enum הוא צורה מיוחדת של מחלקת Java. קבוע, פרוצדורה וכו' עשויים להיכלל ב-Enum. אפשר להשתמש במילת מפתח Enum עם הצהרת if, הצהרת switch, איטרציה וכו'.
- כברירת מחדל, קבועי ה-enum היו ציבוריים, סטטיים וסופיים.
- באמצעות תחביר נקודות, קבועי enum נגישים.
- יחד עם קבועים, מחלקת enum עשויה להכיל גם תכונות ושיטות.
- מחלקות Enum אינן יכולות לרשת מחלקות אחרות ואי אפשר ליצור אובייקטים שלהן.
- שיעורי Enum מוגבלים ליישום ממשק.
שם הקובץ: EnumExample.jav
// A Java program that // demonstrates how Enum // Keywords function when // specified outside of classes enum Months { JAN, FEB, MAR, APR, MAY, JUN, JUL; AUG; SEP; OCT; NOV; DEC; } public class EnumExample { // Main method public static void main(String args[]) { Months m = Months.MAY; System.out.println(m); } }
תְפוּקָה:
MAY
להחליף מילת מפתח
כאשר למשתמש יש הרבה אפשרויות והוא רוצה להשלים משימה נפרדת עבור כל החלטה, הצהרת Switch שימושית. הצהרת Switch מאפשרת להשוות את הערך של משתנה לרשימה של ערכים פוטנציאליים. לכל ערך יש מקרה נפרד. עם הצהרת break, נעשה שימוש תכוף במשפט Switch Case, אם כי זה לא נדרש.
שם הקובץ: SwitchExample.java
// Java program to // demonstrate the use // of the switch statement public class SwitchExample { public static void main(String args[]) { // Declaring the variable for the case statements of switch int n = 5; // Switch keyword switch (n) { // Case statements case 1: System.out.println(' The number is 1 '); break; case 2: System.out.println(' The number is 2 '); break; case 3: System.out.println(' The number is 3 '); break; // Last case is the default default: System.out.println(' The number is other than 1, 2 or 3'); } } }
תְפוּקָה:
The number is other than 1, 2 or 3
מילת המפתח enum תואמת גם להצהרת Switch. ניתן להשתמש ב-Enum בדומה ל-int primitive בהצהרת מקרה של Java Switch. הדוגמאות הבאות מראות כיצד Enum עם משהו כמו משפט Switch מתפקד.
דוגמה 1:
כאשר נעשה שימוש ב-enum מחוץ למחלקה הראשית, נעשה שימוש במשפט switch.
שם הקובץ: EnumSwitch.java
// A Java program that demonstrates // how the Enum keyword and // the Switch statement function // Outside of the main class, // enum keyword declared enum Bikes { Honda, Pulsar, Passion, Yamaha, Apache, Suzuki; } // Main class public class EnumSwitch { public static void main(String args[]) { // Declaring the Enum variable Bikes b; b = Bikes.Apache; // using the Switch keyword switch (b) { // Case statements case Apache: System.out.println(' Hurray ! You have chosen Apache !'); break; case Honda: System.out.println(' Hurray ! You have chosen Honda !'); break; case Pulsar: System.out.println(' Hurray ! You have chosen Pulsar !'); break; case Passion: System.out.println(' Hurray ! You have chosen Passion !'); break; case Yamaha: System.out.println(' Hurray ! You have chosen Yamaha !'); break; case Suzuki: System.out.println(' Hurray ! You have chosen Suzuki !'); default: System.out.println(' Oops ! Sorry not in the list. '); break; } } }
תְפוּקָה:
Hurray ! You have chosen Apache!
הדוגמה שהוזכרה לעיל מדגימה כיצד, כאשר Enum מצוינת מחוץ למחלקה הראשית, מילת המפתח Enum והוראות חילוף מקרה.
דוגמה 2: בעת שימוש ב-Enum עם הצהרת Switch, ודא שה-Enum נמצא במחלקה הראשית.
שם הקובץ: EnumSwitch1.java
public class EnumSwitch1{ // inside of the main class, // enum keyword declared enum Bikes { Honda, Pulsar, Passion, Yamaha, Apache, Suzuki; } public static void main(String args[]) { // Declaring the Enum variable Bikes b; b = Bikes.Apache; // using the Switch keyword switch (b) { // Case statements case Apache: System.out.println(' Hurray ! You have chosen Apache !'); break; case Honda: System.out.println(' Hurray ! You have chosen Honda !'); break; case Pulsar: System.out.println(' Hurray ! You have chosen Pulsar !'); break; case Passion: System.out.println(' Hurray ! You have chosen Passion !'); break; case Yamaha: System.out.println(' Hurray ! You have chosen Yamaha !'); break; case Suzuki: System.out.println(' Hurray ! You have chosen Suzuki !'); default: System.out.println(' Oops ! Sorry not in the list. '); break; } } }
תְפוּקָה:
Hurray ! You have chosen Apache!
האיור שהוזכר לעיל מראה כיצד, אם Enum מוצהר בתוך המחלקה הראשית, מילת המפתח Enum פועלת בשילוב באמצעות הצהרות עניין של Switch.