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

深圳网站建设ejaket石材网站建设方案

深圳网站建设ejaket,石材网站建设方案,三合一网站包含什么,重庆今天最新消息第八章#xff1a;枚举类与注解 8.1#xff1a;枚举类的使用 ​ 类的对象只有有限个#xff0c;确定的。我们称此类为枚举类。当需要定义一组常量是#xff0c;强烈建议使用枚举类。如果枚举类中只有一个对象#xff0c;则可以作为单例模式的实现方式。 如何定义枚举类 …第八章枚举类与注解 8.1枚举类的使用 ​ 类的对象只有有限个确定的。我们称此类为枚举类。当需要定义一组常量是强烈建议使用枚举类。如果枚举类中只有一个对象则可以作为单例模式的实现方式。 如何定义枚举类 方式一JDK5.0之前自定义枚举类。 public class SeasonTest {public static void main(String[] args) {Season spring Season.SPRING;System.out.println(spring); // Season{seasonName春天,seasonDesc春暖花开}} } //自定义枚举类 class Season{//1.声明Season对象的属性:private final修饰private final String seasonName;private final String seasonDesc;//2.私有化类的构造器,并给对象属性赋值private Season(String seasonName,String seasonDesc){this.seasonName seasonName;this.seasonDesc seasonDesc;}//3.提供当前枚举类的多个对象public static final的public static final Season SPRING new Season(春天,春暖花开);public static final Season SUMMER new Season(夏天,夏日炎炎);public static final Season AUTUMN new Season(秋天,秋高气爽);public static final Season WINTER new Season(冬天,冰天雪地);//4.其他诉求1获取枚举类对象的属性public String getSeasonName() {return seasonName;}public String getSeasonDesc() {return seasonDesc;}//4.其他诉求1提供toString()Overridepublic String toString() {return Season{ seasonName seasonName \ , seasonDesc seasonDesc \ };} }方式二JDK5.0可以使用enum关键字定义枚举类。 public class SeasonTest1 {public static void main(String[] args) {Season1 summer Season1.SUMMER;System.out.println(summer); // Season{seasonName春天,seasonDesc春暖花开}System.out.println(Season1.class.getSuperclass()); // Enum} } //使用enum关键字枚举类 enum Season1 implements Info{//1.提供当前枚举类的对象多个对象之间用,隔开末尾对象;结束SPRING(春天,春暖花开),SUMMER(夏天,夏日炎炎),AUTUMN(秋天,秋高气爽),WINTER(冬天,冰天雪地);//2.声明Season对象的属性:private final修饰private final String seasonName;private final String seasonDesc;//2.私有化类的构造器,并给对象属性赋值private Season1(String seasonName,String seasonDesc){this.seasonName seasonName;this.seasonDesc seasonDesc;}//4.其他诉求1获取枚举类对象的属性public String getSeasonName() {return seasonName;}public String getSeasonDesc() {return seasonDesc;}//4.其他诉求1提供toString()Overridepublic String toString() {return Season1{ seasonName seasonName \ , seasonDesc seasonDesc \ };} }Enum类中常用的方法 values()返回枚举类型的对象数组。该方法可以很方便地遍历所有的枚举值。valueOf(String str)返回枚举类中对象名str的对象如果没有就抛异常。toString()返回当前枚举类对象常量名称。 Season1 summer Season1.SUMMER; //toString():返回枚举类对象的名称 System.out.println(summer.toString()); //values():返回所有的枚举类对象构成的数组 Season1[] values Season1.values(); for(int i 0;i values.length;i){System.out.println(values[i]); } //valueOf(String objName):返回枚举类中对象名是objName的对象。 Season1 winter Season1.valueOf(WINTER); System.out.println(winter);使用enum关键字定义的枚举类实现接口的情况 情况一实现接口在enum类中实现抽象方法。情况二让枚举类的对象分别实现接口中的抽象方法。 8.2注解 理解注解(Annotation) 从JDK 5.0开始Java增加了对元数据MetaData的支持也就是Annotation(注解)。Annotation其实就是代码里的特殊标记这些标记可以在编译类加载运行时被读取并执行相应的处理。通过使用Annotation程序员可以在不改变原有逻辑的情况下在源文件中嵌入一些补充信息。 注解实例 Override限定重写父类方法该注解只能用于方法。 class Person{private String name;private int age;public Person() {}public Person(String name, int age) {this.name name;this.age age;}public void walk() {System.out.println(人走路);} }class Student extends Person{Overridepublic void walk() {System.out.println(学生走路);} }Deprecated用于表示所修饰的元素(类方法等)已过时。通常是因为所修饰的结构危险或存在更好的选择。 Deprecated public Date(int year, int month, int date) {this(year, month, date, 0, 0, 0); }SuppressWarnings抑制编译器警告。 SuppressWarnings(unused) int num 10; SuppressWarnings({unused, rawtypes}) ArrayList list new ArrayList();自定义Annotation 注解类型声明为interface。自定义注解自动继承了java.lang.annotation.Annotation接口。注解的成员变量在Annotation定义中以无参数方法的形式来声明。其方法名和返回值定义了该成员的名字和类型。我们称为配置参数。类型只能是八种基本数据类型、String、Class、enum、Annotation类型。内部定义成员通常使用value表示。可以指定成员的默认值使用default定义。如果定义的注解含有配置参数那么使用时必须指定参数值除非它有默认值。格式是参数名 参数值如果只有一个参数成员且名称为value可以省略value。如果自定义注解没有成员表名是一个标识作用。 public interface MyAnnotation {String value() default hello; }注意自定义注解必须配上注解的信息处理流程才有意义。 JDK中的元注解 JDK的元Annoation用于修饰其他Annotation定义。 JDK 5.0提供了4个标准的meta-annontation类型分别是 Retention ​ 只能用于修饰一个Annotation定义用于指定该Annotation的生命周期Rentention包含一个RetentionPolicy类型的成员变量使用Rentention时必须为该value成员变量指定值 RetentionPolicy.COURCE在源文件中有效(即源文件保留)编译器直接丢弃这种策略的注释。RetentionPolicy.CLASS在class文件中有效(即class保留)当运行Java程序时不会保留注解。这是默认值。RetentionPolicy.RUNTIME在运行时有效(即运行时保留)当运行Java程序时JVM会保留注释。程序可以通过反射获取该注释。 Target ​ 用于修饰Annotation定义用于指定被修饰的Annotation能用于修饰哪些程序元素。Target也包含一个名为value的成员变量。 Documented ​ 用于指定被该元Annotation修饰的Annotation类将被javadoc工具提取成文档。默认情况下javadoc是不包括注解的。 ​ 定义为Documented的注解必须设置Retention值为RUNTIME。 Inherited ​ 被它修饰的Annotation将具有继承性。如果某个类使用了被Inherited修饰的Annotation则其子类将自动具有该注解。 JDK 8中注解的新特性 可重复注解 在MyAnnotation上声明Repeatable成员值为MyAnnotations.classMyAnnotation的Target和Retention等元注解与MyAnnotations相同 Inherited Repeatable(MyAnnotations.class) Retention(RetentionPolicy.RUNTIME) Target({TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE,TYPE_PARAMETER,TYPE_USE}) public interface MyAnnotation {String value() default hello; }Inherited Retention(RetentionPolicy.RUNTIME) Target({TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE,TYPE_PARAMETER,TYPE_USE}) public interface MyAnnotations {MyAnnotation[] value(); }MyAnnotation(value hi) MyAnnotation(value abc) class Person{ }类型注解 ElementType.TYPE_RARAMETER表示该注解能写在类型变量的声明语句中。ElementType.TYPE_USE表示该注解能写在使用类型的任何语句中。
http://www.dnsts.com.cn/news/173962.html

相关文章:

  • 网站建设与维护书籍广告投放申请入口
  • 娱乐网站开发spspwk中车网站建设的优缺点
  • 网站系统繁忙是什么原因网站建设用到的工具
  • 网站建设找哪家怎么在手机上自己开发软件
  • 什么是网站空间信息WordPress小说网源码
  • 淘客网站自己做河北省招标投标网官网
  • 专题探索网站开发教学模式的结构软件开发培训出来好找工作吗
  • php电子商务网站开发wordpress评论机器人
  • 新网站网页收录wordpress时间调用
  • 三星智能手表网站成都小程序定制开发公司
  • 测评网站怎么做建筑模板有几种
  • 建设网站物业经理上岗证陈俊华中成网站建设
  • 阮一峰的个人网站宁波网站建设优化
  • 网站建设公司招人做公司的网站付的钱怎么入账
  • 平面设计网站有哪些肥东网站制作
  • 网站一般要设计几页凡客登录入口
  • shopify广告优化师怎么学
  • 个人 备案 多个网站网页设计6种布局方式
  • 找人做网站 网站定制开发室内装修设计图片欣赏
  • 做购物网站支付需要怎么做苏州设计网页网站
  • 个人网站icp新国际网站建设
  • 电脑网站开发学习怎么把网站放到阿里云
  • jsp做网站用到什么技术wordpress模板专业版
  • p2p网站建设公司排名开发区二手房房价最新信息
  • 网站电脑培训班办公软件深圳it培训机构
  • 平原网站建设价格国家认可的教育培训机构
  • 网站开发 商城开发新手搭建网站教程
  • 萍乡手机网站建设上海都有哪些企业公司
  • 电子商务网站建设的范围是什么意思dede网站模板 音响
  • 西部数码成品网站网站做快速排名是怎么做的呢