Enum枚举类

①枚举类和普通类的差别:

使用 enum 定义的枚举类默认继承了 java.lang.Enum 类

枚举类的构造器仅仅能使用 private 訪问控制符

枚举类的全部实例必须在枚举类中显式列出(, 分隔    ; 结尾). 列出的实例系统会自己主动加入 public static final 修饰

②JDK 1.5 中能够在 switch 表达式中使用Enum定义的枚举类的对象作为表达式,

case 子句能够直接使用枚举值的名字, 无需加入枚举类作为限定

③枚举类的主要方法:

values()方法:返回枚举类型的对象数组。

该方法能够非常方便地遍历全部的枚举值。

valueOf(String str):能够把一个字符串转为相应的枚举类对象。要求字符串必须是枚举类对象的“名字”。

如不是,会有执行时异常

注解Annotation

①JDK内置的基本注解类型(3个)

 @Override: 限定重写父类方法, 该凝视仅仅能用于方法

 @Deprecated: 用于表示某个程序元素(类, 方法等)已过时

 @SuppressWarnings: 抑制编译器警告

②自己定义注解类型

定义新的 Annotation 类型使用 @interface keyword

Annotation 的成员变量在 Annotation 定义中以无參数方法的形式来声明. 其方法名和返回值定义了该成员的名字和类型.

能够在定义 Annotation 的成员变量时为其指定初始值, 指定成员变量的初始值可使用 default keyword

public @interface MyAnnotation{

        String name() default “wzg";

        }

没有成员定义的 Annotation 称为标记; 包括成员变量的 Annotation 称为元数据 Annotation

③对注解进行注解(4个)

@Retention: 仅仅能用于修饰一个 Annotation 定义, 用于指定该 Annotation 能够保留多长时间,

@Rentention 包括一个 RetentionPolicy 类型的成员变量, 使用 @Rentention 时必须为该 value 成员变量指定值:

RetentionPolicy.SOURCE: 编译器直接丢弃这样的策略的凝视

RetentionPolicy.CLASS: 编译器将把凝视记录在 class 文件里. 当执行 Java 程序时, JVM 不会保留注解。

这是默认值

RetentionPolicy.RUNTIME:编译器将把凝视记录在 class 文件里. 当执行 Java 程序时, JVM 会保留凝视. 程序能够通过反射获取该凝视

@Target: 用于修饰 Annotation 定义, 用于指定被修饰的 Annotation 能用于修饰哪些程序元素. @Target 也包括一个名为 value 的成员变量.

@Documented: 用于指定被该元 Annotation 修饰的 Annotation 类将被 javadoc 工具提取成文档.

定义为Documented的注解必须设置Retention值为RUNTIME。

@Inherited: 被它修饰的 Annotation 将具有继承性.假设某个类使用了被 @Inherited 修饰的 Annotation, 则其子类将自己主动具有该注解

实际应用中。使用较少

利用反射获取注解信息(在反射部分涉及)



Enum枚举类|注解Annotation的更多相关文章

  1. 第8章 枚举类&注解

    8.枚举及注解 8.1 如何自定义枚举类 1课时 8.2 如何使用关键字enum定义枚举类 1课时 8.3 枚举类的主要方法 1课时 8.4 实现接口的枚举类 1课时 8-1 枚举类 枚举类入门 枚举 ...

  2. Java中的enum枚举类

    首先说说为什么要写这个enum枚举类吧,是群里有个新手问:怎样把enum类中的值遍历得到,其实自己用的也很少.自己也是确实不知道,于是我去网上搜了不少,总结了些,希望对大家有帮助:首先我说说怎样遍历枚 ...

  3. Enum 枚举类

    目录 Enum 枚举类 基础 定义与用途 基本方法 示例 进阶 实现原理 枚举与Class对象 自定义枚举类和构造方法及toString() Enum中使用抽象方法来实现枚举实例的多态性 Enum与接 ...

  4. 枚举类&&注解&&反射

    什么是枚举类? 枚举类是优化定义固定对象的一种特殊的类. 换句话说,在需要类的实例为一个或者多个并且相对固定的时候,使用枚举类.(枚举类可扩展) 类的实例相对来说固定的有日期,客观不变的一些数字等等. ...

  5. enum枚举类

    枚举类可用于定义常量ch01 package edu.nf.demo.ch01; /** * * 枚举类型 */ public enum Color { /** * 红色 */ RED, /** * ...

  6. Java 基础 enum枚举类 的创建/使用/接口继承 ,以及手动创建枚举类的对象为:public static final

    笔记: import java.lang.*; /**一:枚举类 : enum Season implements info { s1(),s2(),s3(),s4() }; //s1--s4 放在S ...

  7. Java Enum 枚举类的values方法

    Enum类和enum关键字定义的类型都有values方法,但是点进去会发现找不到这个方法.这是因为java编译器在编译这个类(enum关键字定义的类默认继承java.lang.Enum)的时候 自动插 ...

  8. Enum枚举类使用集合

    1.使用扩展方法使用枚举值对于的Description属性值 public static class EnumExtenstion { public static string GetDescript ...

  9. java enum 枚举类

    图一代码: public enum LogMethodEnum { WEBCSCARDVALID("返回值"), WEBCSVERIFYPASSWORD("返回值&quo ...

随机推荐

  1. easyui源码翻译1.32--Layout(布局)

    前言 使用$.fn.layout.defaults重写默认值对象.下载该插件翻译源码 布局容器有5个区域:北.南.东.西和中间.中间区域面板是必须的,边缘的面板都是可选的.每个边缘区域面板都可以通过拖 ...

  2. [jobdu]第一个只出现一次的字符

    刚开始还在想双指针,完全没必要.然后最土的可以扫两遍O(n),用一个数组记录出现次数.然后想到如果数组里记录出现的位置,可以只扫一遍O(n),第二遍扫字符集就行了. #include <iost ...

  3. C++如何处理内联虚函数

    http://blog.csdn.net/hedylin/article/details/1775556 当一个函数是内联和虚函数时,会发生代码替换或使用虚表调用吗? 为了弄清楚内联和虚函数,让我们将 ...

  4. 8. Unity异常警告错误处理方法

    一. The AnimationClip 'cube1_anim' used by the Animation component 'Cube1' must be marked as Legacy. ...

  5. 关于百度地图API的地图坐标转换问题

    原文:关于百度地图API的地图坐标转换问题 我在之前的文章利用html5获取经纬度并且在百度地图中显示位置中使用了百度地图的API来显示html5获取的地理位置,在文中我说过这样的话,我说百度地图的准 ...

  6. 学习笔记-[Maven实战]-第二章:Maven安装和配置

    在windows上安装Maven 1.检查JDK安装:在CMD下运行以下命令来检查JAVA安装情况: 命令: C:\Documents and Settings\Administrator>ec ...

  7. linux多线程驱动中调用udelay()对整个系统造成的影响(by liukun321咕唧咕唧)

    以前没考虑过这个问题,而且之前可能运气比较好,虽然用了udelay但也没出什么奇怪的问题,今天在 CSDN上看到了一篇关于此问题帖子,觉得很受用,再此做简要的记录和分析: 驱动开的是内核线程 跟普通进 ...

  8. 我的第一个Struts程序

    1.程序结构 2.各种文件 LoginAction.java package com.tfj.action; public class LoginAction { private String use ...

  9. linq中的contains条件

    linq中的contains条件   在sql查询语句中,in 在linq 中用contains,并且contains前面是数组,而后面是列名,如: SELECT distinct BH FROM c ...

  10. js模块,类,继承,命名空间,私有属性等相关概念梳理

    js确切的说是一种基于对象的语言,和纯面向对象的语言(比如as)稍微有点区别,js中没有类的概念.虽然有继承但是基于原型的继承.随着前段越来越受重视,jser们利用js的一些特性他们制造出了和纯面向对 ...