1.注意点

(1)枚举中的构造方法必须是private的。

(2)枚举中可以定义抽象方法和一般方法,但枚举对象必须实现所有抽象方法。

(3)枚举对象必须放在第一行。

 package classTwo01;

 public enum Colors {

     RED{
@Override
public void setName(String name) {
this.name=name;
} },BLUE{
@Override
public void setName(String name) {
this.name=name;
} }; public String name; private Colors(){ }
// private Colors(String name){
// this.name=name;
// }
//
public String getName() {
return name;
} public abstract void setName(String name);
}
 package classTwo01;

 public class Test {

     public static void main(String[] args) {
Colors.BLUE.setName("绿色");
String color=Colors.BLUE.getName();
System.out.println(color);
}
}

(3)枚举中values()方法是获取所有的枚举对象,使为一个数组,然后通过forEach循环输出。

 package classTwo01;

 public enum Colors {

     RED(1,"红色"),BLUE(2,"蓝色");

     private int id;
private String name; Colors(int id,String name){
this.id=id;
this.name=name;
} public int getId() {
return id;
}
public String getName() {
return name;
} }
package classTwo01;

import java.util.Iterator;

public class Test {

    public static void main(String[] args) {
Colors[] colors=Colors.values();
for (Colors color : colors) {
System.out.println(color.getId()+":"+color.getName());
}
}
}

我们知道switch()括号中可以使byte short int char String enum  那么枚举该怎么用呢,看下面实例

 public static void switchTest(Colors color) {
switch (color){
case RED:{
System.out.println("红色");
break;
}
case BLUE:{
System.out.println("蓝色");
break;
}
default:{
break;
}
}
}

枚举定义的模板: 1:枚举变量  (必须放在第一行的位置)(可多个)

         2:成员变量(可多个)

           3:静态或非静态方法(可多个)

         4:构造方法(可多个)

         5:普通方法(可多个)

         6:抽象方法(可多个)

最新文章

  1. Linux如何查看文件系统(磁盘使用情况)
  2. sql获取时间
  3. JAVA属性和成员的可见性
  4. jsonp 跨域 能返回数据但 无法返回成功问题
  5. .tar.bz2文件解压命令
  6. Java Web网站应用中的单点登录
  7. 使用JavaScript+Html创建win8应用(一)
  8. linux安装问题
  9. MySQL复制(三) --- 高可用性和复制
  10. python中的gil是什么?
  11. (转载)mysql分屏显示结果
  12. 创建GitHub技术博客
  13. CentOs Linux 文件位置标记
  14. 让EditPlus支持SQL高亮提示
  15. Android主题切换—夜间/白天模式探究
  16. 修改eclipse的workspace目录
  17. Arch Linux安装Firefox 火狐中文版
  18. String系列-----AbstractStringBuilder
  19. 不同系统与程序修改java.library.path的位置(转)
  20. XDU1024简单逆序对(贪心||分治)

热门文章

  1. navicat提示无法连接解决办法
  2. centos7 出现“FirewallD is not running”
  3. 矩阵的五种分解的matlab实现
  4. jenkins使用--安装文档
  5. 2018-2019-2 20175211 实验四《Android程序设计》实验报告
  6. Net core学习系列(八)——Net Core日志
  7. portaudio使用笔记《转》
  8. linux , nginx: 封禁IP的办法【转】
  9. sqlserver存储过程创建和java调用
  10. k8s记录-国内下载k8s组件镜像