【1】定义一个接口

1 public interface TestInterface {
2     void show();
3 }

【2】枚举类实现接口,并且重写show()方法

public enum Season implements TestInterface{
    SPRING,
    SUMMER,
    AUTUMN,
    WINTER;

    @Override
    public void show() {
        System.out.println("这是season");
    }
}

【3】测试类:

1 public class Test {
2     //这是一个main方法:是程序的入口
3     public static void main(String[] args) {
4         Season autumn = Season.AUTUMN;
5         autumn.show();
6         Season summer = Season.SUMMER;
7         summer.show();
8     }
9 }

上面发现所有的枚举对象,调用这个show方法的时候走的都是同一个方法,结果都一样。

枚举类 Java 枚举类实现接口_System

 

 但是现在我想要:不同对象调用的SHOW方法也不同

定义接口

public interface TestInterface {
    void show();
}

枚举类重写show方法

package com.msb.enum04;


public enum Season implements TestInterface{
    SPRING{
        @Override
        public void show() {
            System.out.println("这是春天");
        }
    },
    SUMMER{
        @Override
        public void show() {
            System.out.println("这是夏天");
        }
    },
    AUTUMN{
        @Override
        public void show() {
            System.out.println("这是秋天");
        }
    },
    WINTER{
        @Override
        public void show() {
            System.out.println("这是冬天");
        }
    };
    /*@Override
    public void show() {
        System.out.println("这是season");
    }*/
}

测试类

package com.msb.enum04;

/**
 * 开发人:liu
 * 日期:13:50:36
 * 描述:IntelliJ IDEA
 * 版本:1.0
 */
public class Test {
    //这是一个main方法:是程序的入口
    public static void main(String[] args) {
        Season autumn = Season.AUTUMN;
        autumn.show();
        Season summer = Season.SUMMER;
        summer.show();
    }
}

结果

枚举类 Java 枚举类实现接口_System_02