当前位置: 首页 > wzjs >正文

在线图表生成器搜索引擎优化策略

在线图表生成器,搜索引擎优化策略,网站推广的意义和方法,重庆市建设企业诚信分查询网站枚举(enum) 一、基本介绍 引出关键字:enum,全称为enumerate 枚举是一组常量集合 理解:枚举属于一种特殊的类,里面只包含一组有限的特定的对象 二、使用场景 当一个类的属性有限定条件时(例如一个星期只能有七天&…

枚举(enum)

一、基本介绍

  • 引出关键字:enum,全称为enumerate

  • 枚举是一组常量集合

  • 理解:枚举属于一种特殊的类,里面只包含一组有限的特定的对象

二、使用场景

当一个类的属性有限定条件时(例如一个星期只能有七天),可以使用枚举类(特点:只读不改

三、实现枚举的方式

1. 自定义类实现枚举

特点如下(构建方法四步走)

补充内容

2. 使用enum关键字实现枚举

四、追寻 enum 类的底层源码(使用javap反编译)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

五、enum 类的成员方法

方法名详细描述
valueOf传递枚举类型的 Class 对象和枚举常量名称给静态方法 valueOf,会得到与参数匹配的枚举常量。
toString得到当前枚举常量的名称。你可以通过重写这个方法来使得到的结果更易读。
equals在枚举类型中可以直接使用 == 来比较两个枚举常量是否相等。Enum 提供的这个 equals() 方法,也是直接使用 == 实现的。它的存在是为了在 Set、List 和 Map 中使用。注意,equals() 是不可变的。
hashCodeEnum 实现了 hashCode() 来和 equals() 保持一致。它也是不可变的。
getDeclaringClass得到枚举常量所属枚举类型的 Class 对象。可以用它来判断两个枚举常量是否属于同一个枚举类型。
name得到当前枚举常量的名称。建议优先使用 toString()。
ordinal得到当前枚举常量的次序。
compareTo枚举类型实现了 Comparable 接口,这样可以比较两个枚举常量的大小(按照声明的顺序排列)
clone枚举类型不能被 Clone。为了防止子类实现克隆方法,Enum 实现了一个仅抛出 CloneNotSupportedException 异常的不可变 Clone()。

常用方法的说明

请添加图片描述

六、enum实现接口

通过类名调用在类中创建的对象实例,即eunm 类名 . 创建对象的对象名(这就表示 enum 的一个实例对象),通过对象调用方法


案例:设置季节类

分析:季节只有四季

一、自定义类实现枚举

代码示例

package enum_;public class main {public static void main(String[] args) {// 直接访问类中创建的对象,用过 toString 方法重写后会输出对象的信息System.out.println(season.SPRRING);System.out.println(season.SUMMER);System.out.println(season.AUTUMN);System.out.println(season.WINTER);}
}class season{// 对象属性私有化private String name;private String info;// 创建实例对象提供给其他类进行读取public final static season SPRRING = new season("春天","温暖");public final static season SUMMER = new season("夏天","炎热");public final static season AUTUMN = new season("秋天","凉爽");public final static season WINTER = new season("冬天","寒冷");// 构造器私有化private season(String name, String info) {this.name = name;this.info = info;}public String getName() {return name;}public String getInfo() {return info;}// 重写 toString 方法,输出对象的信息@Overridepublic String toString() {return "season{" +"name='" + name + '\'' +", info='" + info + '\'' +'}';}
}// 输出结果
season{name='春天', info='温暖'}
season{name='夏天', info='炎热'}
season{name='秋天', info='凉爽'}
season{name='冬天', info='寒冷'}

二、使用enum关键字实现枚举

代码示例

package enum_;public class main {public static void main(String[] args) {// 直接访问类中创建的对象,用过 toString 方法重写后会输出对象的信息System.out.println(season.SPRING);System.out.println(season.SUMMER);System.out.println(season.AUTUMN);System.out.println(season.WINTER);System.out.println(season.season);}}enum season{// 枚举对象必须位于枚举类的开头SPRING("春天","温暖"),SUMMER("夏天","炎热"),AUTUMN("秋天","凉爽"), WINTER("冬天","寒冷"),season;/*使用枚举对象代替了public final static season SPRRING = new season("春天","温暖");public final static season SUMMER = new season("夏天","炎热");public final static season AUTUMN = new season("秋天","凉爽");public final static season WINTER = new season("冬天","寒冷");*/// 对象属性私有化private String name;private String info;// 构造器私有化private season(){}private season(String name, String info) {this.name = name;this.info = info;}public String getName() {return name;}public String getInfo() {return info;}// enum类在底层继承了父类,在子类中不重写该方法// 调用父类的方法,输出的是对象的名称
}

注意:子类不重写 toString 方法,enum类在底层继承了父类,调用父类的方法,输出的是对象的名称

三、enum成员方法

请添加图片描述

代码示例

package enum_;public class main {public static void main(String[] args) {season spring = season.SPRING;// name 方法System.out.println("1. 调用 name() 方法:" + spring.name());System.out.println("spring.name() = " + spring.name());System.out.println();// ordinal 方法:从 0 开始编号System.out.println("2. 调用 ordinal() 方法");System.out.println("spring.ordinal() = "+ spring.ordinal());System.out.println();// values 方法 :返回的是数组,存储 enum类 中的所有常量System.out.println("3. 调用 values() 方法,遍历数组,返回所有常量");season[] seasons = season.values();/*使用增强for循环for(变量类型 变量名:数组或集合)*/for(season s:seasons){System.out.println(s);}System.out.println();// valueOf 方法:判断常量是否存在于enum类中,存在则返回常量名,否则报异常System.out.println("4. 调用 valueof() 方法");System.out.println("season.valueOf(\"AUTUMN\") = " + season.valueOf("AUTUMN"));
//        System.out.println("season.valueOf(\"hi\") = " + season.valueOf("hi")); // 会报异常System.out.println();// compareTo() 方法:计算两个枚举常量位置序号的差值System.out.println("5. 调用 compareTo() 方法");System.out.println("season.WINTER.compareTo(season.SPRING) = " + season.WINTER.compareTo(season.SPRING));System.out.println();}}enum season{// 枚举对象必须位于枚举类的开头SPRING("春天","温暖"),SUMMER("夏天","炎热"),AUTUMN("秋天","凉爽"), WINTER("冬天","寒冷");// 对象属性私有化private String name;private String info;// 构造器私有化private season(){}private season(String name, String info) {this.name = name;this.info = info;}public String getName() {return name;}public String getInfo() {return info;}// enum类在底层继承了父类,在子类中不重写该方法// 调用父类的方法,输出的是对象的名称/*enum类的 toString 方法public String toString() {return name;}*/
}// 输出结果
1. 调用 name() 方法:SPRING
spring.name() = SPRING2. 调用 ordinal() 方法
spring.ordinal() = 03. 调用 values() 方法,遍历数组,返回所有常量
SPRING
SUMMER
AUTUMN
WINTER4. 调用 valueof() 方法
season.valueOf("AUTUMN") = AUTUMN5. 调用 compareTo() 方法
season.WINTER.compareTo(season.SPRING) = 3

四、enum 实现接口

代码示例

package enum_;public class main {public static void main(String[] args) {// season.INTERFACE_METHIOD 是 enum 类的一个实例对象,通过对象调用方法season.INTERFACE_METHIOD.hi();}}interface A{public void hi();
}enum season implements A{// 枚举对象必须位于枚举类的开头SPRING("春天","温暖"),SUMMER("夏天","炎热"),AUTUMN("秋天","凉爽"), WINTER("冬天","寒冷"),INTERFACE_METHIOD;// 对象属性私有化private String name;private String info;// 构造器私有化private season(){}private season(String name, String info) {this.name = name;this.info = info;}public String getName() {return name;}public String getInfo() {return info;}public void hi(){System.out.println("在 enum 类中实现了接口的 hi() 方法");}
}
http://www.dtcms.com/wzjs/22688.html

相关文章:

  • 免费的logo在线设计周口seo推广
  • 做网站提升公司形象搜索引擎优化论文3000字
  • 重庆本地生活网优化大师免费下载
  • 中铁三局招聘广告北京网络优化推广公司
  • 网站建设制作设计爱站网站
  • 张家港高端网站建设公司24小时最新国际新闻
  • 网站建设结构总结bt磁力库
  • 电子商务有限公司宁波seo搜索引擎优化公司
  • 怎么查看什么公司做的网站吗网站文章优化技巧
  • 产品销售方案与营销策略网站整体优化
  • 大企业网站建设多少钱运营怎么做
  • 2018淘宝客网站开发福建seo网站
  • 房地产市场营销aso关键词优化计划
  • 用来做旅游攻略的网站google推广一年3万的效果
  • 上海做网站seow是什么意思
  • 武汉网上推广的网站广告商对接平台
  • 集团网站手机版电脑培训网上课程
  • 衡阳网站建设公司哪家好阳江seo
  • 网页设计与网站建设第05章在线测试大数据智能营销系统
  • 保定企业网站的建设在线培训管理系统
  • 网站开发市场规模游戏代理0加盟费
  • 章丘网站建设网站搜索查询
  • 化妆品网站建设流程图怎么做小程序
  • 海尔建设此网站的目的是什么意思台州seo排名公司
  • wordpress免回复合肥品牌seo
  • .net开发网站怎么样百度网站首页网址
  • 北京市建设工程教育考试网站精准大数据获客系统
  • 做安卓开发要去看哪些网站丁香人才网官方网站
  • 香港做网站公司关键词竞价排名
  • 做平行进口的汽车网站官方百度