栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

详解java枚举用法及实例

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

详解java枚举用法及实例

一、枚举类型作为常量

package myenum; 
 
public enum Color { 
  GREEN,RED,YELLOW; 
  public static void main(String[] args) { 
    for (Color c : values()) { 
      System.out.println("color:"+c); 
    } 
  } 
} 
//输出 
 

其实在更近一步的话我们可以输出每个枚举实例的具体位置

package myenum; 
 
public enum Color { 
  GREEN,RED,YELLOW; 
  public static void main(String[] args) { 
    for (Color c : values()) { 
      System.out.println(c + " position "+c.ordinal()); 
    } 
  } 
} 
//输出结果 
  

二、与swith结合使用

public enum Color { 
  GREEN,RED,YELLOW; 
  public static void main(String[] args) { 
    Color c = RED; 
    switch (c) { 
    case RED: 
      System.out.println("红色"); 
      break; 
    case GREEN: 
      System.out.println("绿色"); 
      break; 
    case YELLOW: 
      System.out.println("黄色"); 
      break; 
    default: 
      break; 
    } 
  } 
} 
//输出 
 

从上面的例子可以看出枚举的多态性,其实可以讲Color作为枚举的超类,其中的实例在运行时表现出多态。(如上面的输出结果为红色,下面的例子来验证这一特性。)

三、多态性(在Color中添加抽象方法)

public enum Color { 
  GREEN{ 
    void description(){ 
      System.out.println("绿灯行!"); 
    } 
  },RED{ 
    void description(){ 
      System.out.println("红灯停!"); 
    } 
  },YELLOW{ 
    void description(){ 
      System.out.println("黄灯亮了等一等!"); 
    } 
  };//如果枚举中有方法则左后一个实例以“;”结束 
  abstract void description(); 
  public static void main(String[] args) { 
    for (Color c : values()) { 
      c.description(); 
    } 
  } 
 
} 
//输出 
 

四、利用构造器为实例添加描述

public enum ColoStructure { 
  GREEN("绿色"),RED("红色"),YELLOW("黄色");//如果枚举中有方法则左后一个实例以“;”结束 
  public String description; 
  private ColoStructure(String des){ 
    this.description = des; 
  } 
  public static void main(String[] args) { 
    for (ColoStructure c : values()) { 
      System.out.println(c.description); 
    } 
  } 
} 
//输出 
 

希望本文可以帮到有需要的朋友

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/146814.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号