简要介绍Java中的枚举类(二)

2014-11-24 09:04:15 · 作者: · 浏览: 4
ce GenderDesc { public void info(); }

五、包含抽象方法的枚举类,枚举类中对普通方法的使用和普通类一样,这里就只介绍其抽象方法的使用,其实抽象方法跟实现接口是一个道理,这里不多说,看示例:
package com.home;  
  
public enum Gender {  
    MALE("男") {  
        // 花括号部分实际上是一个类体部分  
        public String getInfo() {  
            return "I am a man";  
        }  
    },  
    FEMALE("女") {  
        public String getInfo() {  
            return "I am a woman";  
        }  
    };  
    private final String name;  
  
    // 枚举类的构造器只能使用private修饰  
    private Gender(String name) {  
        this.name = name;  
    }  
  
    // 只提供getter方法  
    public String getName() {  
        return name;  
    }  
  
    // 为枚举类定义一个抽象方法,这个抽象方法由不同枚举值提供不同实现  
    public abstract String getInfo();  
}  

注意:上面枚举类中定义了抽象方法,但是,类却没用abstract修饰,这点跟普通类不一样,因为枚举类需要显示创建枚举值,并为抽象方法提供实现,否则会出现编译错误。