网站大量收购闲置独家精品文档,联系QQ:2885784924
  1. 1、本文档共62页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
枚举类型 枚举类型的定义: [public] enum 枚举类型名 [implements 接口名表] { 枚举常量定义 [枚举体定义] } 枚举常量定义:常量1[,常量2[, … 常量n]] [;] 如果没有枚举体部分,则“;”可省略 枚举常量实际上是枚举类型的static和final的实例,加载枚举类型时,调用枚举类型的构造方法创建这些实例 如果在枚举体中定义了构造方法,则在定义枚举常量时可采用“常量(参数1,参数2, …)”的形式 枚举类型 枚举类型的定义: [public] enum 枚举类型名 [implements 接口名表] { 枚举常量定义 [枚举体定义] } 枚举体定义: 可以包含变量、构造方法和成员方法 构造方法只能为private,保证用户不会创建新的枚举常量 枚举类型 枚举类型的方法 每个枚举类型都具有java.lang.Object类和java.lang.Comparable接口中可以被继承的方法 编译器在创建枚举类型时也自动加入一些方法,如: ElementType[] values():返回一个数组,数组包含该枚举类型的所有枚举常量,且数组中的元素严格保持其在枚举类型中的声明顺序 String name():返回当前枚举常量的名字 int ordinal():返回该枚举常量在声明中的次序值 EnumType valueOf(String):获得枚举常量名字符串对应的枚举常量实例 public class TestEnum{ public static void main(String[] args){ for(Season s: Season.values()){ if(s.ordinal()==1) //s为SUMMER System.out.println(()+;+s.toString()); if(s.ordinal()==2) //s为FALL System.out.println(s.getDeclaringClass()); if(s.equals(Season.valueOf(WINTER))) System.out.println(s); } } } enum Season{ SPRING, SUMMER, FALL, WINTER } enum Coin { PENNY(1), NICKEL(5), DIME(10), QUARTER(25); private final int value; Coin(int value) { this.value = value; } public int value() { return value; } } enum CoinColor { COPPER, NICKEL, SILVER } public class CoinTest { public static void main(String[] args) { for (Coin c : Coin.values()) { System.out.print(c + : + c.value() + , ); switch (c) { case PENNY: System.out.println(CoinColor.COPPER); break; case NICKEL: System.out.println(CoinColor.NICKEL); break; case DIME: case QUARTER: System.out.println(CoinColor.SILVER); break; } } } } 这种重写没有实际意义,因为没有方法体 * 这种重写没有实际意义,因为没有方法体 * 使用接口的核心原因:为了能够向上转型为多个基类型 * * 在方法参数中使用final关键字 将方法参数指明为final,则无法在方法中更改参数的值 class Gizmo { public void spin() { } } public class FinalArg { void with(final Gizmo g) { // g=new Gizmo(); //错误,g是final的 } void without(Gizmo g) { g = new Gizmo(); g.s

文档评论(0)

整理王 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档