枚舉類的定義格式:
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);
}
}