2020.7.19

学习内容:

1、枚举定义

枚举的关键字是 enum  ,定义枚举公式为: public enum 枚举名字 (  )

例:public enum Color { RED, GREEN , BLACK ,YELLOW ; }

2、使用 switch 打印枚举

 1 package day01;
 2 public enum Color {
 3     RED,GREEN,BLACK,YELLOW ;
 4     public static void main(String[] args) {
 5         Color c= Color.RED;
 6         switch(c) {
 7         case RED:
 8             System.out.println("红色");
 9             break;
10         case GREEN:
11             System.out.println("绿色");
12             break;
13         case BLACK:
14             System.out.println("黑色");
15             break;
16         case YELLOW:
17             System.out.println("黄色");
18             break;
19         }    
20     }
21 }

代码可读性更强

3、在枚举中定义构造方法

在枚举中定义构造方法,必须使枚举中的变量形式与构造方法的形式保持一致

 1 package day01;
 2 public enum Color {
 3     RED("红色"),GREEN("绿色"),BLACK("黑色"),YELLOW ("黄色");
 4     //成员变量
 5     private String name;
 6     //构造方法
 7     private Color(String name) {
 8         this.name =name;
 9     }
10     public String getName() {
11         return name;
12     }
13     public void setName(String name) {
14         this.name=name;
15     }
16     public static void main(String[] args) {
17         Color c=Color.RED;
18         System.out.println(c.name);
19     }
20 }

注:枚举中的构造方法必须是  private

4、枚举中实现接口

所有的枚举都继承自 Java . lang . Enum 类 ,因为 Java是单继承关系,所以枚举不能继承其他类,但是可以实现接口

 1 package day01;
 2 public enum Color implements H {
 3     RED("红色"),GREEN("绿色"),BLACK("黑色"),YELLOW ("黄色");
 4     //成员变量
 5     private String name;
 6     //构造方法
 7     private Color(String name) {
 8         this.name =name;
 9     }
10     public String getName() {
11         return name;
12     }
13     public void setName(String name) {
14         this.name=name;
15     }
16     @Override
17     public void get() {
18         System.out.println("get...");
19     }
20     public static void main(String[] args) {
21         Color c=Color.RED;
22         c.get();
23     }
24 }
25 interface H{
26     void get();
27 }

结果为:get ...

5、在枚举中定义抽象方法

想在枚举中定义抽象方法,则枚举中的每个变量必须实现抽象方法

 1 package day01;
 2 public enum Color {
 3     RED{
 4         public void get() {
 5             System.out.println("红色");
 6         }
 7     },GREEN{
 8             public void get() {
 9                 System.out.println("绿色");
10             }
11     },BLACK{
12         public void get() {
13             System.out.println("黑色");
14         }
15     },YELLOW{
16         public void get() {
17             System.out.println("黄色");
18         }
19    };
20     public abstract void get();
21 }

遇到的问题:

什么是接口?

https://www.cnblogs.com/libinhong/p/10990347.html

https://www.runoob.com/java/java-interfaces.html

明天要学习的内容:

4.7综合实例  4.9 上机练习

原文地址:https://www.cnblogs.com/ltw222/p/13395887.html