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

广州市招投标中心官网上海网站关键词优化

广州市招投标中心官网,上海网站关键词优化,网站的优化策略方案,江苏cms建站系统Java枚举#xff08;Enum#xff09; 枚举 定义#xff1a; Java枚举是一种特殊的类#xff0c;用来表示一组固定的常量。 被enum关键字修饰的类型就是枚举类型 #xff08;如果枚举不添加任何方法#xff0c;枚举值默认为从0开始的有序数据。 比如定义一个枚举类表示…Java枚举Enum 枚举 定义 Java枚举是一种特殊的类用来表示一组固定的常量。 被enum关键字修饰的类型就是枚举类型 如果枚举不添加任何方法枚举值默认为从0开始的有序数据。 比如定义一个枚举类表示季节那里面有春、夏、秋和冬四个变量。 一个枚举类表示星期那里面有星期一、星期二、星期三、星期四、星期五、星期六和星期日七个变量 枚举类表示月份就同理有十二个月、十二个变量。 格式 Java 枚举类使用 enum 关键字来定义enum关键字的作用就像是class和interface。各个常量使用逗号 , 来分割。注意最后一个枚举对象要使用“”结尾说明枚举值结束使用。 1 枚举的本质其实就是终止类并继承Enum抽象类。 2 枚举中的变量其实就是一个当前类型的静态常量。 枚举类型本质上是java.lang.Enum类的子类java.lang.Enum是一个抽象类但Java中不支持多继承因此枚举类型不能再继承其他类。 //测试类 public enum Season { //上文说的季节类//每个成员变量都默认被 public final static修饰SPRING, SUMMER, AUTUMN, WINTER; } //测试类 public class SeasonTest {public static void main(String[] args) {for (Season seasonEnum : Season.values()) {System.out.println(seasonEnum,ordinal:seasonEnum.ordinal(),name:seasonEnum.name());}} }每个被枚举的成员其实就是定义的枚举类型的一个实例它们都被默认为final。无法改变常数名称所设定的值它们也是public和static的成员这与接口中的常量限制相同。可以通过类名称直接使用它们。 枚举中的方法 values() 返回enum实例的数组而且该数组中的元素严格保持在enum中的声明时的顺序。 name()返回实例名。 ordinal()返回实例声明时的次序从0开始 getDeclaringClass()返回实例所属的enum类型。 equals()判断是否为同一个对象 也可以使用来比较enum实例 valueOf()返回指定字符串值的枚举常量。 特性 除了不能继承可以将enum看作一个普通类。Java不允许使用为枚举常量赋值。enum通过方法来显式赋值enum可以添加普通方法、静态方法、抽象方法、构造方法。枚举可以实现接口枚举不可以继承 枚举类中定义抽象方法 既然编译器最终将每个枚举值声明为枚举类的实例那我们能在枚举类中声明抽象方法让枚举值去实现么 在枚举类Season中声明了一个抽象方法sayHello()。然后在创建枚举值时就必须实现该抽象方法 public enum SeasonEnum {//枚举类的实例对象必须在最前面先定义而且必须每个实例对象都必须维护上chinese成员变量SPRING(春天,1201){Overridevoid sayHello() {System.out.println(hello spring);}},SUMMER(夏天,1202){Overridevoid sayHello() {System.out.println(hello summer);}},AUTUMN(秋天,1203){Overridevoid sayHello() {System.out.println(hello autumn);}},WINTER(冬天,1204){Overridevoid sayHello() {System.out.println(hello winter);}};private String name;private Integer code;//枚举类型的构造函数默认为private因为枚举类型的初始化要在当前枚举类中完成。SeasonEnum (String name,Integer code){this.namename;this.codecode;}public String getName() {return name;}public void setName(String name) {this.name name;}public Integer getCode() {return code;}public void setCode(Integer code) {this.code code;}abstract void sayHello(); }测试类 public class SeasonTest {public static void main(String[] args) {//直接初始化SeasonEnum season1 SeasonEnum.SPRING;//调用SeasonEnum枚举类的sayHello方法season1.sayHello();} }控制台输出 hello spring枚举允许继承类吗 枚举类使用enum定义后在编译后默认继承了java.lang.Enum类而不是普通的继承Object类。enum声明类继承了Serializable和Comparable两个接口。且采用enum声明后该类会被编译器加上final声明(同String)故该类是无法继承的。 所有枚举类都默认是Enum类的子类无需我们使用extends来继承。 枚举允许实现接口吗 枚举允许实现接口。因为枚举本身就是一个类类是可以实现多个接口的。 public interface EnumInterface {public abstract void print(); } public enum SizeEnum implements EnumInterface{BIG,MIDDLE,SMALL;Overridepublic void print() {System.out.println(继承接口-重写方法一次);} }枚举可以用等号比较吗 肯定因为在Enum类里面已经重写了equals方法而方法里面比较就是直接使用来比较2个对象的。所以你在外边直接使用也是可以的。 可以继承枚举吗 当然不能呀枚举类默认继承了java.lang.Enum类一个类怎么能继承两个类呢 枚举可以实现单例模式吗 枚举本身就是一种对单例设计模式友好的形式它是实现单例模式的一种很好的方式。 public class InstanceDemo {/*** 构造方法私有化*/private InstanceDemo(){}/*** 返回实例* return*/public static InstanceDemo getInstance() {return Singleton.INSTANCE.getInstance();}/*** 使用枚举方法实现单利模式*/private enum Singleton {INSTANCE;private InstanceDemo instance;/*** JVM保证这个方法绝对只调用一次*/Singleton() {instance new InstanceDemo();}public InstanceDemo getInstance() {return instance;}}//测试一下public static void main(String[] args) {InstanceDemo one InstanceDemo.getInstance();InstanceDemo two InstanceDemo.getInstance();System.out.println(one);System.out.println(two);System.out.println(one two);} }创建的对象相同 csdn.test.recursion.demo.InstanceDemo74a14482 csdn.test.recursion.demo.InstanceDemo74a14482 true当使用compareTo()比较枚举时比较的是什么 int compareTo(E e)比较两个枚举常量谁大谁小其实比较的就是枚举常量在枚举类中声明的顺序返回值可以仔细看看源码 一起看看底层代码吧 public final int compareTo(E o) {Enum? other (Enum?)o;EnumE self this;if (self.getClass() ! other.getClass() // optimizationself.getDeclaringClass() ! other.getDeclaringClass())throw new ClassCastException();return self.ordinal - other.ordinal;}举个例子你就能理解了 public class TestSeasonEnum {public static void main(String[] args) {Season season Season.SPRING;Season season1 Season.SUMMER;Season season2 Season.AUTUMN;Season season3 Season.WINTER;System.out.println(season.compareTo(season1));System.out.println(season.compareTo(season2));System.out.println(season.compareTo(season3));} }输出结课详情参考源码一看便知道 -1 -2 -3 当使用equals()比较枚举的时候比较的是什么 枚举类型的equals()方法比较的是枚举类对象的内存地址作用与等号等价。
http://www.zqtcl.cn/news/306366/

相关文章:

  • 微信公众号文章排版设计软媒win7优化大师
  • 长春建设局网站处长做箱包关注哪个网站
  • 中国建筑集团有限公司怎么样seo是怎么优化推广的
  • 芜湖建设网站eclipse开发网站用vue做前端
  • 外贸网站推广制作教程wordpress留言页面模版
  • 手机网站 像素网站建设生意怎么样
  • html5网站源代码凡科互动app下载
  • asp评价网站开发文档福州做网站的哪家好
  • 合肥网站建设方案优化写作网站大全
  • 专门提供做ppt小素材的网站网站定位
  • 临沂市建设局兰山区网站wordpress 去除下划线
  • 如何做一张图片的网站关于实验室建设的英文网站
  • 网站建设文本居中代码山东网站推广营销设计
  • 山东桓台建设招投标网站北京建设信息港网站
  • 为什么网站要域名个人养老金制度最新消息
  • 公众号开发是不是网站开发公司网站建设分录
  • 云南省住房建设厅网站代理二级分销系统
  • 四川建设人才培训网站临沂网站制作页面
  • 用vue做网站建设工程合同属于什么合同
  • 赶集的网站怎么做广告投放报价
  • php 家政网站白嫖云服务器
  • 长春网站关键词推广优秀网站建设哪个公司好
  • php实战做网站视频教程站长工具网站测速
  • 当下网站建设常见的网址有哪些
  • 洪雅网站建设事业单位门户网站建设包含内容
  • 外网如何查看局域网建设的网站区块链开发工程师要求
  • 网站首页三张海报做多大怎么做网上直营店网站
  • 网站制作新手教程视频省建设厅网站安全生产标准化
  • 自动建设网站系统阿里云虚拟主机多网站
  • 区块链app排名网站seo其应用