java枚举及注解

java枚举及注解

ID:37857268

大小:43.50 KB

页数:8页

时间:2019-06-01

java枚举及注解_第1页
java枚举及注解_第2页
java枚举及注解_第3页
java枚举及注解_第4页
java枚举及注解_第5页
资源描述:

《java枚举及注解》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、java枚举java注解java新特性可变参数java枚举:在类的对象有限的情况下,可是使用枚举类的方式创建有限个类的对象。单例模式是一种特殊的枚举类。自定义枚举类:1,私有化构造器2,在类的内部创建若干个类的对象,publicstaticfinal3,在类中的其他额外属性,定义为privatefinal,可以额外的再声明getter()方法。枚举类的使用:2.使用enum关键字定义枚举类*>常用的两个方法:valueOf()values()*>枚举类实现接口:①让类实现接口以后,重写接口中的抽象方法②让类中的对象分

2、别重写接口中的抽象方法必须在枚举类的第一行声明枚举类对象。 枚举类与普通类的区别: 使用enum定义的枚举类默认继承了java.lang.Enum类 枚举类的构造器只能使用private访问控制符 所有实例必须在枚举类中首行显式列出(,分隔;结尾).列出的实例系统会自动添加publicstaticfinal修饰 JDK1.5中可以在switch表达式中使用Enum定义的枚举类的对象作为表达式,case子句可以直接使用枚举值的名字,无需添加枚举类作为限定 实例:interfaceInfo{publicvoidshow(

3、);}enumPerson01implementsInfo{MAN("man",true){publicvoidshow(){System.out.println(getType()+"hasmustache"+isMustache());}},WOMAN("woman",false){@Overridepublicvoidshow(){System.out.println(getType()+"hasmustache"+isMustache());}};privatefinalStringtype;privatef

4、inalbooleanisMustache;privatePerson01(Stringtype,booleanisMustache){this.type=type;this.isMustache=isMustache;}}枚举类的实例对象MAN与WOMEN必须放在枚举类首行各式:instanceName1(构造器参数),instanceName2(构造器参数)...;另外枚举类可以继承接口,并在枚举实例中实现接口中的抽象方法。枚举类的常用方法:values()返回枚举类型的对象数组。该方法可以很方便地遍历所有的枚举

5、值。 valueOf(Stringstr)可以把一个字符串转为对应的枚举类对象。要求字符串必须是枚举类对象的“名字”。如不是,会有运行时异常。否则,报java.lang.IllegalArgumentException异常枚举类的对象可以分别实现接口的抽象方法。java注解Annotation主要内容 1JDK内置的三个常用注解2如何自定义一个注解3元注解:对现有注解进行注解的一种注解4通过反射机制或许类的注解信息(反射的时候深入)JDK内置的基本注解类型(3个) @Override,限定重写父类方法,该注释只能用于

6、方法@Deprecated,用于表示某个程序元素(类,方法等)已过时@SuppressWarnings,抑制编译器警告,该注解需要参数自定义注解类型 定义新的Annotation类型使用@interface关键字 Annotation的成员变量在Annotation定义中以无参数方法的形式来声明.其方法名与返回值定义了该成员的名字与类型. 可以在定义Annotation的成员变量时为其指定初始值,指定成员变量的初始值可使用default关键字 public@interfaceMyAnnotation{ Stringn

7、ame()default“atguigu"; } 没有成员定义的Annotation称为标记;包含成员变量的Annotation称为元数据Annotation 对注解进行注解(4个) 5.0提供了专门在注解上的注解类型,分别是: @Retention:指定该annotation保留的时间@Rentention包含一个RetentionPolicy类型的成员变量,使用@Rentention时必须为该value成员变量指定值:RetentionPolicy.SOURCE:编译器直接丢弃这种策略的注释 RetentionP

8、olicy.CLASS:编译器将把注释记录在class文件中.当运行Java程序时,JVM不会保留注解。这是默认值 RetentionPolicy.RUNTIME:编译器将把注释记录在class文件中.当运行Java程序时,JVM会保留注释.程序可以通过反射获取该注释 @Target:用于修饰Annotation定义,用于指定被修饰的Annot

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。