- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
张孝祥java高级笔记第四单元:枚举
张孝祥第四单元—— 枚举
PAGE \* MERGEFORMAT4
枚举的一些基本属性和方法
public static void main(String[] args) {
WeekDay wd = WeekDay.SUN;
System.out.println(wd.name());
System.out.println(wd.ordinal());//该对象在WeekDay 的位置
System.out.println(wd.valueOf(SAT));// 把字符“SAT”变成一个 WeekDay 的 SAT 枚举对象
WeekDay[] ss = WeekDay.values();
for(WeekDay d: ss){
System.out.println( +d);
}
}
Ps:圆圈的部分可以什么都不带,也可以带 “;”
如果后面有东西,则必须带有“;” 枚举的构造方法必须是 private
带有构造方法的枚举
/** 带有抽象方法的枚举 */
public enum Color {
RED(20) {
@Override
public Color nextColor() {
return YELLOW;
}
},
YELLOW(5) {
@Override
public Color nextColor() {
return GREEN;
}
},
GREEN (30){
@Override
public Color nextColor() {
return RED;
}
};
public int time;
private Color(){}
private Color(int time){
this.time = time;
}
public abstract Color nextColor();
}
Ps: 枚举中的每个实例 就好比 调用该类的构造方法 创建出来的一个实例 Color RED = new Color(); 所以如果该类中有抽象方法 那就类似 如果一个类是抽象类, 那如果实例挂该类,其实就是父类引用 子类对象了。所以要重写父类中的抽象方法。
附件一
package com.zxx.four;
public class EnumClass {
/**
* enmu course
* 1.基础
* 2、枚举的构造方法
* 3、带有抽象方法的枚举
*/
public static void main(String[] args) {
/** 用weekDay类模拟enum */
WeekDay w = WeekDay.SUN;
System.out.println(w.nextDay());
/** 枚举的基本知识 */
WeekDay2 w2 = WeekDay2.FRI;
System.out.println(w2.name());
System.out.println(w2.ordinal());//该对象在WeekDay 的位置
System.out.println(WeekDay2.valueOf(SAT));// 把字符“SAT”变成一个 WeekDay 的 SAT 枚举对象
WeekDay2[] ws = WeekDay2.values();
for (WeekDay2 wd2 : ws) {
System.out.print(wd2 + );
}
}
public enum WeekDay2 {
SUN(1), MON, TUE, WED(4), THZ, FRI, SAT;
private int day;
private WeekDay2() {
System.out.println(first);
}
private WeekDay2(int day) {
this.day = day;
System.out.println(second + day);
}
}
/** 带有抽象方法的枚举 */
public enum Color {
RED(20) {
@Override
public Color nextColor() {
return YELLOW;
}
},
YELLOW(5) {
@Override
public Color nextColor()
文档评论(0)