java中的枚舉類型


枚舉類型是那些字段由一組固定常量組成的類型。常見的例子有:東南西北四個方向,星期幾等。

所有枚舉類型都隱式繼承java.lang.Enum類型,因為java不支持多重繼承,所以枚舉不能繼承其他任何類。

java對枚舉的支持是語言級的支持,switch-case結構無需加枚舉名作為前綴。

多個枚舉常量之間以逗號隔開,枚舉常量列表最后可以以分號結束,如果有成員方法或成員變量,必須以分號結束。

枚舉類型可以有成員方法和成員變量。如果有成員方法和成員變量,枚舉常量列表要放在枚舉體最開始,以分號結尾。

枚舉類型的構造器必須是包級私有或者私有,構造器會自動創建枚舉類型體開端定義的枚舉常量。

 1 enum Day {
 2     SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
 3 }
 4 public class EnumTest {
 5     static void tell(Day data) {
 6         switch (data) {
 7             case MONDAY :
 8                 System.out.println(1);
 9                 break;
10             case SUNDAY :
11                 System.out.println(0);
12             default :
13                 break;
14         }
15     }
16     public static void main(String[] args) {
17         Day x = Day.MONDAY;
18         tell(x);
19         for (Day i : Day.values()) {
20             System.out.println(i);
21         }
22     }
23 }
 1 enum Planet {
 2     MERCURY(303E23, 2.4397E6), VENUS(4.869E24, 6.0518E6), EARTH(5.97E24,
 3             6.378E6);
 4     final double mass;
 5     double radius;
 6     private Planet(double mass, double radius) {
 7         this.mass = mass;
 8         this.radius = radius;
 9     }
10     final double G = 6.67E-11;
11     double getGravity() {
12         return G * mass / (radius * radius);
13     }
14 }
15 class EnumTest {
16     final int x;
17     public EnumTest() {
18         x = 3;
19     }
20     public static void main(String[] args) {
21         for (Planet i : Planet.values()) {
22             System.out.printf(i + "\t" + i.mass + "\t" + i.radius + "\t"
23                     + i.getGravity()+"\n");
24         }
25     }
26 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM