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

华文细黑做网站有版权吗网站设计收集

华文细黑做网站有版权吗,网站设计收集,网站返回首页怎么做,浙江江能建设有限公司网站Enum是一个特殊的类. 我们不能以class Xxx extends Enum的方式手动继承, 必须写成enum Xxx的形式; 然而这段枚举类的定义在编译之后又变回了class Xxx extends Enum. 一、类定义 public abstract class EnumE extends EnumEimplements ComparableE, …Enum是一个特殊的类. 我们不能以class Xxx extends Enum的方式手动继承, 必须写成enum Xxx的形式; 然而这段枚举类的定义在编译之后又变回了class Xxx extends Enum. 一、类定义 public abstract class EnumE extends EnumEimplements ComparableE, Serializable {}Enum是一个虚基类继承了Number抽象类,可以用于数字类型的一系列转换;实现了Comparable接口,强行对实现它的每个类的对象进行整体排序 二、成员常量和取值器 //成员常量name被声明为final类型意为不可变同时只提供取值器。 private final String name; public final String name() {return name; } //成员常量ordinal被声明为final类型意为不可变同时只提供取值器。 private final int ordinal; public final int ordinal() {return ordinal; }三、构造函数 protected Enum(String name, int ordinal) {this.name name;this.ordinal ordinal;}构造函数被定义成protected参数有两个分别是name和ordinal和成员常量相呼应。 四、常用方法 1、toString() 返回成员常量name的值。 public String toString() {return name;}2、equals() 参数为Object类型方法内部判断是不是和this指向同一对象。注意这个方法final被修饰也就是说枚举不可以覆写这个类。 public final boolean equals(Object other) {return thisother;}3、hashCode() 委托父类执行即Object类的hashCode方法执行。注意这个方法final被修饰也就是说枚举不可以覆写这个类。 public final int hashCode() {return super.hashCode();}4、clone() 直接抛出异常不支持拷贝。这也符合枚举唯一的特性。值得注意的是这个方法被定义成protected也就是只能包内和子类可见并且不可以覆写。 protected final Object clone() throws CloneNotSupportedException {throw new CloneNotSupportedException();}5、compareTo() 有这个方法一方面是因为Enum类实现了Comparable接口一方面也符合枚举可以比较的特点。值得注意的是方法内部可以看出要求比较的对象必须是相同枚举类型的否则便会引起ClassCastException异常。对相同类型枚举值比较的则是它们的成员常量ordinal大小。 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;}6、getDeclaringClass() 这个方法在compareTo()方法中出现了。 SuppressWarnings(unchecked)public final ClassE getDeclaringClass() {Class? clazz getClass();Class? zuper clazz.getSuperclass();return (zuper Enum.class) ? (ClassE)clazz : (ClassE)zuper;}7、valueOf() 通过参数name来返回枚举值注意如果name没有与之对应的枚举返回的不是null而是抛出异常。 public static T extends EnumT T valueOf(ClassT enumType,String name) {T result enumType.enumConstantDirectory().get(name);if (result ! null)return result;if (name null)throw new NullPointerException(Name is null);throw new IllegalArgumentException(No enum constant enumType.getCanonicalName() . name);}8、readObject 防治反序列化的使用private来定义方法且在方法内部抛出异常。目的就是为了维护枚举值的唯一性。 private void readObject(ObjectInputStream in) throws IOException,ClassNotFoundException {throw new InvalidObjectException(cant deserialize enum);}9、readObjectNoData() 同readObject方法一样都是为了防止反序列化的。 private void readObjectNoData() throws ObjectStreamException {throw new InvalidObjectException(cant deserialize enum);}
http://www.zqtcl.cn/news/436387/

相关文章:

  • 美橙表业手表网站公司推广渠道
  • 大连网站排名优化价格wordpress锚文字
  • 漯河网做网站南京市建设工程档案馆网站
  • 重庆可以建建网站的平台天眼查 企业查询官网
  • gta5单机买房子网站在建设免费建小程序网站
  • 怎么制作网站设计图片劳动保障局瓯海劳务市场和做网站
  • 视屏网站制作青岛平台网站建设
  • asp网站做搜索义乌网站建设工作室
  • .net网站开发环境wordpress添加特效
  • 常州 网站制作如何找专业的网站建设公司
  • 陕西网络营销优化公司seo搜索价格
  • 山东通信局报备网站东营城镇建设规划网站
  • 建设银行如何招聘网站网站开发转包协议
  • 主流网站建设服务器有哪些电商平台
  • 网站与数据库的联系wordpress改为中文
  • 如何不让百度收录网站wix和wordpress比较
  • php开源网站 网上商城网站建设公司做销售好不好
  • 网站开发学哪种语言网站加水印
  • 帮人家做网站维护女性手机网站模板
  • 给一个企业做网站苏州网站备案查询
  • 域名备案期间怎么做网站广告投放行业
  • wordpress站内搜索统计网站突然不收录了
  • 网站源码小千个人网做网页设计一个月能挣多少
  • 贵州省建设厅公示网站广州seo网站推广费用
  • 旅游网站建设前期分析公众号制作多少钱
  • 延庆长沙网站建设怎样下载门户网站
  • flash 网站建设建设带数据搜索的网站
  • 设计网站网站名称云主机 小型网站
  • 网站建设方案书 模版公司制作网站收费标准
  • 福州企业网站html模板网站模板下载