ميزات التعداد
1. استخدم التعداد لتعريف فئة التعداد التي ترث فئة java.lang.Enum افتراضيًا بدلاً من فئة الكائن. من بينها، تطبق فئة java.lang.Enum واجهتين: java.lang.Serializable وjava.lang.Comparable.
2. يمكن لمنشئ فئة التعداد استخدام معدّل الوصول الخاص فقط. إذا تم حذف معدّل التحكم في الوصول لمنشئه، فسيتم استخدام التعديل الخاص بشكل افتراضي.
3. يجب إدراج جميع مثيلات فئة التعداد بشكل صريح في فئة التعداد، وإلا فلن تتمكن فئة التعداد هذه أبدًا من إنشاء مثيلات. عندما يتم إدراج هذه الحالات، يقوم النظام تلقائيًا بإضافة التعديلات النهائية العامة الثابتة دون الحاجة إلى قيام المبرمجين بإضافتها بشكل صريح.
},الخميس{
السلسلة العامة toLocaleString(){
العودة "الخميس" ؛
}
}،الجمعة{
السلسلة العامة toLocaleString(){
العودة "الجمعة"؛
}
}،قعد{
السلسلة العامة toLocaleString(){
العودة "السبت" ؛
}
}،شمس{
السلسلة العامة toLocaleString(){
العودة "الأحد" ؛
}
};
سلسلة مجردة عامة toLocaleString();
}
طريقة مقارنة int
تقوم String name() بإرجاع اسم مثيل التعداد
int ordinal () يُرجع فهرس قيمة التعداد في التعداد
تقوم String toString() بإرجاع اسم مثيل التعداد الذي يتم استخدامه بشكل أكثر شيوعًا من الاسم
القيمة الثابتة العامة ()
}
مصباح خاص (السلسلة المقابلة، السلسلة التالية، مضاءة منطقية) {
this.opposite = المعاكس؛
this.next = next;
this.lighted = lighted;
}
/*ما إذا كان الضوء الحالي أخضر*/
مضاءة منطقية خاصة؛
/*الاتجاه المقابل الذي يكون فيه الضوء الحالي أخضر في نفس الوقت*/
سلسلة خاصة معاكسة؛
/*يتحول الضوء التالي إلى اللون الأخضر عندما يتحول الضوء الحالي إلى اللون الأحمر*/
سلسلة خاصة بعد ذلك؛
المنطقية العامة مضاءة () {
عودة مضاءة.
}
/**
* عندما يتحول ضوء معين إلى اللون الأخضر، فإن الضوء في الاتجاه المقابل له يتحول أيضًا إلى اللون الأخضر.
*/
ضوء الفراغ العام () {
this.lighted = true;
إذا (عكس!= فارغة){
Lamp.valueOf(opposite).light();
}
System.out.println(name() + "المصباح أخضر، يجب أن يكون هناك إجمالي 6 اتجاهات أدناه حيث يمكنك رؤية السيارات المارة!");
}
/**
* عندما يتحول ضوء معين إلى اللون الأحمر، يتحول الضوء في الاتجاه المقابل أيضًا إلى اللون الأحمر، ويتحول الضوء في الاتجاه التالي إلى اللون الأخضر
* @return الضوء التالي ليتحول إلى اللون الأخضر
*/
تعتيم المصباح العام (){
this.lighted = false;
إذا (عكس!= فارغة){
Lamp.valueOf(opposite).blackOut();
}
المصباح التاليLamp= null;
إذا (التالي!= فارغ){
nextLamp = Lamp.valueOf(next);
System.out.println("يتحول الضوء الأخضر من " + name() + "--------> إلى" + next);
nextLamp.light();
}
إرجاع nextLamp؛
}
}