2017.8.16学习小结 - 枚举5

回顾

六、深入了解枚举

1.枚举的构造方法

2.枚举的接口

3.在枚举中定义抽象方法

学习小结

七、点拨

1.枚举使用的注意事项

①枚举类型不能用public和protected修饰符修饰构造方法,即只能是private或是friendly(无修饰符的默认权限),因此无法直接调用其构造方法来初始化。

②定义简单类型的枚举时,最后一个枚举值后可以不加分号;定义复杂类型的枚举时(枚举中包含方法),那么最后一个枚举值后代码必须要用“;”隔开。

2.枚举类不可以被继承

枚举被规定不可以继承,因此也不能用abstract修饰

八、习题

1.定义枚举类型WeekDay,使用枚举类型配合switch语法,完善下面代码,完善功能:wd=Mon时,输出“Do Monday work”,wd=Tue时,输出“Do Tuesday work”,···,以此类推,当wd不为枚举元素值时输出“I don't know which is day”。

package com.Javastudy2;

/**
 * @author Y.W.
 * @date 2017年8月16日 下午11:01:43
 * @Description TODO 定义枚举类型WeekDay,实现特定功能
 */
enum WeekDay {
    Sun, Mon, Tue, Wed, Thu, Fri, Sat
}; // 定义一个枚举类型WeekDay

public class P273_11_8_1 {

    public static void main(String[] args) {
        WeekDay wd = WeekDay.Mon; // 定义WeekDay枚举变量wd,并赋值
        switch (wd) {


        // 在下面补充其他语句


        case Sun:
            System.out.println("Do Sunday work");
            break;
        case Mon:
            System.out.println("Do Monday work");
            break;
        case Tue:
            System.out.println("Do Tuesday work");
            break;
        case Wed:
            System.out.println("Do Wednesday work");
            break;
        case Thu:
            System.out.println("Do Thursday work");
            break;
        case Fri:
            System.out.println("Do Friday work");
            break;
        case Sat:
            System.out.println("Do Saturday work");
            break;

        default:
            System.out.println("I don't know which is day!");
            break;


        }
    }

}

运行结果:

2017.8.16学习小结 - 枚举5_第1张图片
运行结果

2.在枚举中定义抽象方法getDay(),找出代码错误。

public enum P274_11_8_2 {
    MONDAY{
        return "星期一";
    },
    TUESDAY{
        public String getDay(){
            return "星期二";
        }
    },
    MWEDNESDAY{
        return "星期三";
    };
    public abstract String getDay();
}

修改后:

public enum P274_11_8_2 {
    MONDAY{
        public String getDay(){
            return "星期一";
        }
    },
    TUESDAY{
        public String getDay(){
            return "星期二";
        }
    },
    MWEDNESDAY{
        public String getDay(){
            return "星期三";
        }
    };
    public abstract String getDay();
}

答:
在枚举中定义抽象方法,其中每个对象都必须单独实现此方法。

思考

枚举算是收尾了,明天开始深入学习java。


记于2017年8月16日

你可能感兴趣的:(2017.8.16学习小结 - 枚举5)