Java枚举继承和接口实现

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Java枚举继承和接口实现

枚举是继承了ng.Enum类,所以枚举不可以再进行继承。但可以实现接口和重写抽象方法。下面举例说明下具体使用方法。

接口实现的方式

接口实现代码片段:

1.interface BaseColor {

2.

3.void print(String mobile);

4.

5.}

6.

7.public enum Color implements BaseColor {

8. RED(10, "红色"),

9. GREEN(11, "绿色"),

10. BLUE(12, "蓝色"),

11. YELLOW(13, "黄色");

12.

13./**

14. * 构造的入参顺序,和枚举值定义的属性顺序是一致的

15. *

16. * @param code

17. * @param text

18. */

19. Color(int code, String text) {

20.this.code = code;

21.this.text = text;

22. }

23.

24.private int code;

25.

26.private String text;

27.

28.public int getCode() {

29.return code;

30. }

31.

32.public String getText() {

33.return text;

34. }

35.

36.@Override

37.public void print(String mobile) {

38. System.out.println(mobile + "的颜色是:" + this.text);

39. }

40.}

41.

42.class Test {

43.public static void main(String[] args) {

44. Color.RED.print("华为Mate50");

45. Color.GREEN.print("小米13");

46. }

47.}

打印输出的内容为:

通过定义一个接口,枚举实现接口,在枚举类中重写接口方法,通过枚举值调用方法即可。

以上是一种实现方式,在枚举类中重写接口方法,还可以在枚举值中重写接口方法:

1.public enum Color implements BaseColor {

2. RED(10, "红色") {

3.@Override

4.public void print(String mobile) {

5. System.out.println(mobile + "的颜色是:

" + this.getText());

6. }

7. },

8. GREEN(11, "绿色") {

9.@Override

10.public void print(String mobile) {

11. System.out.println(mobile + "的颜色是:

" + this.getText());

12. }

13. },

14. BLUE(12, "蓝色") {

15.@Override

16.public void print(String mobile) {

17. System.out.println(mobile + "的颜色是:

" + this.getText());

18. }

19. },

20. YELLOW(13, "黄色") {

21.@Override

22.public void print(String mobile) {

23. System.out.println(mobile + "的颜色是:

" + this.getText());

24. }

25. };

26.

27./**

28. * 构造的入参顺序,和枚举值定义的属性顺序是一致的

29. *

30. * @param code

31. * @param text

32. */

33. Color(int code, String text) {

34.this.code = code;

35.this.text = text;

36. }

37.

38.private int code;

39.

40.private String text;

41.

42.public int getCode() {

43.return code;

44. }

45.

46.public String getText() {

47.return text;

48. }

49.}

50.

51.class Test {

52.public static void main(String[] args) {

53. Color.RED.print("华为Mate50");

54. Color.GREEN.print("小米13");

55. }

相关文档
最新文档