资源描述:
《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