คุณสมบัติอีนัม
1. ใช้ enum เพื่อกำหนดคลาสการแจกแจงที่สืบทอดคลาส java.lang.Enum โดยค่าเริ่มต้นแทนที่จะเป็นคลาส Object ในหมู่พวกเขาคลาส java.lang.Enum ใช้สองอินเทอร์เฟซ: java.lang.Serializable และ java.lang.Comparable
2. ตัวสร้างของคลาสการแจงนับสามารถใช้ตัวแก้ไขการเข้าถึงส่วนตัวเท่านั้น หากละเว้นตัวแก้ไขการควบคุมการเข้าถึงของตัวสร้าง การแก้ไขส่วนตัวจะถูกใช้ตามค่าเริ่มต้น
3. อินสแตนซ์ทั้งหมดของคลาสการแจงนับจะต้องแสดงรายการอย่างชัดเจนในคลาสการแจงนับ มิฉะนั้น คลาสการแจงนับนี้จะไม่สามารถสร้างอินสแตนซ์ได้ เมื่อมีการแสดงรายการอินสแตนซ์เหล่านี้ ระบบจะเพิ่มการแก้ไขขั้นสุดท้ายแบบคงที่แบบสาธารณะโดยอัตโนมัติ โดยไม่จำเป็นต้องให้โปรแกรมเมอร์เพิ่มอย่างชัดเจน
},พฤหัสบดี{
สตริงสาธารณะ toLocaleString(){
กลับ "วันพฤหัสบดี";
-
},ศุกร์{
สตริงสาธารณะ toLocaleString(){
กลับ "วันศุกร์";
-
},นั่ง{
สตริงสาธารณะ toLocaleString(){
กลับ "วันเสาร์";
-
},ดวงอาทิตย์{
สตริงสาธารณะ toLocaleString(){
กลับ "วันอาทิตย์";
-
-
สตริงนามธรรมสาธารณะ toLocaleString();
-
วิธี int comparisonTo
String name() ส่งกลับชื่อของอินสแตนซ์การแจงนับ
int ordinal() ส่งคืนดัชนีของค่าการแจงนับในการแจงนับ
String toString() ส่งคืนชื่ออินสแตนซ์ของการแจงนับซึ่งใช้กันทั่วไปมากกว่าชื่อ
มูลค่าคงที่สาธารณะของ ()
-
โคมไฟส่วนตัว (สตริงตรงข้าม, สตริงถัดไป, ไฟบูลีน) {
this.opposite = ตรงกันข้าม;
this.next = ถัดไป;
this.lighted = สว่าง;
-
/*ไฟปัจจุบันเป็นสีเขียวหรือไม่*/
บูลีนส่วนตัวสว่างขึ้น;
/*ทิศทางที่สอดคล้องกันที่ไฟปัจจุบันเป็นสีเขียวพร้อมกัน*/
สตริงส่วนตัวตรงข้าม;
/*ไฟถัดไปเปลี่ยนเป็นสีเขียวเมื่อไฟปัจจุบันเปลี่ยนเป็นสีแดง*/
สตริงส่วนตัวถัดไป;
บูลีนสาธารณะ isLighted(){
กลับสว่าง;
-
-
* เมื่อแสงบางดวงเปลี่ยนเป็นสีเขียว แสงในทิศทางที่สอดคล้องกันจะเปลี่ยนเป็นสีเขียวด้วย
-
แสงโมฆะสาธารณะ () {
this.lighted = จริง;
ถ้า (ตรงกันข้าม != null){
Lamp.valueOf(ตรงข้าม).light();
-
System.out.println(name() + "สัญญาณไฟเป็นสีเขียว ด้านล่างควรมีทั้งหมด 6 ทิศทางที่คุณสามารถมองเห็นรถที่ผ่านไปได้!");
-
-
* เมื่อแสงบางดวงเปลี่ยนเป็นสีแดง แสงในทิศทางที่สอดคล้องกันจะเปลี่ยนเป็นสีแดงด้วย และแสงในทิศทางถัดไปจะเปลี่ยนเป็นสีเขียว
* @return ไฟดวงต่อไปเปลี่ยนเป็นสีเขียว
-
ไฟสาธารณะดับลง () {
this.lighted = เท็จ;
ถ้า (ตรงกันข้าม != null){
Lamp.valueOf(ตรงข้าม).blackOut();
-
โคมไฟ nextLamp= null;
ถ้า (ถัดไป! = null) {
nextLamp = Lamp.valueOf (ถัดไป);
System.out.println("ไฟสีเขียวเปลี่ยนจาก " + name() + "--------> เป็น " + ถัดไป);
nextLamp.light();
-
กลับถัดไปโคมไฟ;
-
-