国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Java開發(fā)筆記 — 理解枚舉

個人感覺枚舉很簡單,Java最開始的時候是沒有枚舉的,后來應(yīng)用廣了,加入了枚舉類型。枚舉類型使用enum關(guān)鍵字聲明,其實枚舉就是一個類,都是類庫中Enum類的子類(java.lang.Enum)。在JDK 1.5以前并沒有枚舉,我們一樣可以自己定義出枚舉。就如同我們使用單態(tài)設(shè)計模式一樣。以下是用一個類來模擬enum,讓我們更好的理解enum的原理。

源碼:

Java語言: EnumDemo.java
package com.openwudi.enumeration;

public class EnumDemo {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        EnumColor myColor = EnumColor.RED;
        //打印myColor
        System.out.println(myColor);
        //打印在第幾個位置
        System.out.println(myColor.ordinal());
        //使用valueOf方法獲得EnumColor
        EnumColor vColor = EnumColor.valueOf("BLUE");
        System.out.println(vColor);
    }

}

Java語言: EnumColor.java
package com.openwudi.enumeration;

public abstract class EnumColor {
    // 記錄創(chuàng)建實例的數(shù)量
    static int count;

    // 第一步我們需要將構(gòu)造方法私有,這樣我們將不能new出一個EnumColor對象
    private EnumColor() {
    }

    // 這里我們創(chuàng)建幾個自己的對象
    static EnumColor RED = new EnumColor() {
        @Override
        public String toString() {
            return "紅色";
        }

        @Override
        public int ordinal() {
            return 0;
        }
    };
    static EnumColor YELLOW = new EnumColor() {
        @Override
        public String toString() {
            return "黃色";
        }

        @Override
        public int ordinal() {
            return 1;
        }
    };;
    static EnumColor GREEN = new EnumColor() {
        @Override
        public String toString() {
            return "綠色";
        }

        @Override
        public int ordinal() {
            return 2;
        }
    };;
    static EnumColor BLUE = new EnumColor() {
        @Override
        public String toString() {
            return "藍色";
        }

        @Override
        public int ordinal() {
            return 3;
        }
    };;

    // 返回枚舉常量的序數(shù)(它在枚舉聲明中的位置,其中初始常量序數(shù)為零)
    public abstract int ordinal();
    //返回枚舉常量的名稱,它包含在聲明中。
    public abstract String toString();
    //返回帶指定名稱的指定枚舉類型的枚舉常量。
    public static EnumColor valueOf(String name){
        if (name.equals("RED")) {
            return RED;
        } else if(name.equals("YELLOW")){
            return YELLOW;
        }
         else if(name.equals("GREEN")){
                return GREEN;
            }
         else if(name.equals("BLUE")){
                return BLUE;
            }
        return null;
    }
}

使用枚舉的范例:
很簡單,和上面的做對比,通俗易懂。枚舉可以定義方法,構(gòu)造方法,和成員變量,理解成類就可以了。

Java語言:ColorShow.java
package com.openwudi.enumeration;

public class ColorShow {
    enum Color {
        RED(255, 0, 0), GREEN(0, 255, 0), YELLOW(255, 255, 0), BLUE(0, 0, 255);
        // 聲明顏色值
        int R, G, U;

        // 枚舉也可以有構(gòu)造方法
        Color(int R, int G, int U) {
            this.R = R;
            this.G = G;
            this.U = U;
        }
    }

    /**
     * @author WuDi
     */
    public static void main(String[] args) {
        Color myColor = Color.BLUE;
        //默認的toString方法
        System.out.println(myColor);
        //枚舉常量的序數(shù)
        System.out.println(Color.GREEN.ordinal());
        //valueOf取得枚舉常量
        System.out.println(Color.valueOf("YELLOW"));
    }

}

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Java枚舉類
J2SE5.0專題之語言特性
Java中的Enum用法介紹
枚舉類型的聲明及應(yīng)用
使用策略模式優(yōu)化過多的if else語句
理解java枚舉類型
更多類似文章 >>
生活服務(wù)
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服