java中枚举类的使用

/*

枚举:一些方法在运行时,它需要的数据不能是任意的,而必须是一定范围内的值,可以直接使用枚举予以解决。


枚举类的定义格式:
    
    enum 类名{
        //枚举值
    }
    
枚举要注意的细节:
    1. 枚举类也是一个特殊的类。
    2. 枚举值默认的修饰符是public static final。(进行反编译得到源代码)
    3. 枚举值就是是枚举值所属的类的类型, 然后枚举值是指向了本类的对象的。
    4. 枚举类的构造方法默认的修饰符是private的。
    5. 枚举类可以定义自己的成员变量与成员函数。
    6. 枚举类可以自定义构造函数,但是构造函数的修饰符必须是private。
    7. 枚举类可以存在抽象 的方法,但是枚举值必须要实现抽象 的方法。
    8. 枚举值必须要位置枚举类 的第一个语句。
 */
package com.auto;
/**
 * 作者:    王金龙
 * 下午2:58:18
 */
enum Sex{
    man("男") {
        public void run() {
            
            System.out.println("男人在跑...");
    
        }
    },woman("女") {
        
        public void run() {
            
            System.out.println("女人在跑...");
            
        }
    };//枚举值
    String value;//成员变量
    //构造函数
    private Sex(String  Value){
        this.value=Value;
    }
    //成员函数
    public void getValue(){
        System.out.println("value:"+  value);
    }
    //抽象类
    public abstract void run();
}
public class Enumeration {

    public static void main(String[] args) {
        Sex sex = Sex.man;
        sex.value="男";
        sex.getValue();
        sex.run();

    }

}

一个例子:

enum Gender{
    man("男"),woman("女");
    
    String value;
    
    private Gender(String value){
        this.value = value;
    }
}


class Person{
    
    private String name;
    
    private    Gender sex;


    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Gender getSex() {
        return sex;
    }

    public void setSex(Gender sex) {
        this.sex = sex;
    }        
}

public class Demo6 {
    
    public static void main(String[] args) {
        Person p = new Person();
        p.setName("小花");
        p.setSex(Gender.woman);
        System.out.println("名字:"+ p.getName()+"   性别:"+ p.getSex().value);
        
    }
    
}

posted @ 2017-02-08 22:42  wangjinlong  阅读(142)  评论(0编辑  收藏  举报