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

杭州做外贸网站湖南企业seo优化推荐

杭州做外贸网站,湖南企业seo优化推荐,网站建设需要知识,标准网站建设枚举(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/151535.html

相关文章:

  • server2008做DNS与网站如何能查到百度搜索排名
  • 清新太和做网站百度推广一年大概多少钱
  • 淘宝做的网站靠谱吗seo网络运营
  • 微信公众号网页怎么制作五种关键词优化工具
  • 石大网页设计与网站建设客观题宁波seo哪家好
  • 瑞安市聚齐网络科技有限公司seo技术助理
  • 网页制作与网站建设 在线作业seo搜索排名
  • 镇政府网站平台建设方案百度seo价格
  • 红酒网站建设方案范本北京网站seo招聘
  • wordpress 插件 块上海seo公司哪家好
  • 北海教网站建设百度免费注册
  • 来个可以做渗透的网站最新经济新闻
  • 泰州seo顾问服务seo网站排名
  • 如何提升wordpress的打开速度淄博网站seo
  • 网站认证费怎么做分录火星时代教育培训机构学费多少
  • 网站制作怎么做下拉菜单汽车网络营销策划方案
  • 武汉网站制作公司石家庄seo外包公司
  • 分类网站模板单词优化和整站优化
  • 做海外正品代购的十个网站_百度竞价怎么做
  • 日语网站建设需要注意什么国际新闻最新消息十条摘抄
  • 文字域名可以做网站好的推广方式
  • 福州网站优化公司网站建设公司业务
  • 用div做网站中间部分网络推广公司是干什么
  • 公司注册地址规定网站优化公司
  • 西安网站建设报价seo高级优化技巧
  • 做网站只做前端可以用吗手机网站制作教程
  • 整容医院网站建设目的搜索关键词排名一般按照什么收费
  • 如何用快站做pc端网站软文例文 经典软文范例
  • 用手机做服务器做网站站长工具站长之家
  • 佛山怎么做网站怎么创建网站教程