一、枚举
1.为什么引入枚举类型?
为了解决常量的缺点
常量不做任何检查,想传什么值都可以,甚至出现越界情况
这时使用枚举就可以减少参数传递的错误性
2.枚举的概念
就是将变量的值一一列举出来,变量的值,只局限于列举的范围之内
格式
public enum{ 枚举值1,枚举值2,枚举值3}
定义枚举类要使用关键字enum
特点
1:所有枚举类都是Enum的子类
2:可以通过枚举.枚举项名称来访问
3:每一个枚举项其实就是该枚举的一个对象
4:枚举也是一个类,也可以定义成员
5:枚举类的第一行必须是枚举项,最后一项最好使用分号
6:枚举类可以有构造器,默认private的,构造器用法比较特殊 :枚举项(),没有new关键字
7:枚举类也可以有抽象方法,但是枚举类必须重写该方法
3.枚举类中的常见方法
name()
获取枚举项的名称
values
获取所有枚举项
二、注解
1.什么是注解
对程序进行标注和解释
2.注解和注释的区别
注释
给程序员看的
注解
给编译器看的,标示一些特殊功能
3.常见到的注解
@Deprecated
标记类,方法,属性过时,不建议使用了
@Override
重写
@SuppressWarnings()
压制警告(把所有的警告都消除)
4.自定义注解
格式
public @Interface 注解名称{
public 属性类型 属性名() default 默认值;
}
属性类型限制
基本数据类型
String
Class
注解
枚举
以及以上类型的一维数组
注意:
1.如果注解中但凡有一个属性没有给默认值,在使用的时候必须给该属性指定默认值
2.特殊属性value如果使用时只需要给value属性赋值,value就可以省略
5.元注解
写在注解上面的注解
四大元注解
@Target
指明了注解能在哪里使用,由ElementType指定
@Retention
指定注解生命周期.生命周期的长短取决于@Retention的属性RetentionPolicy指定的值
@Inherit
表示注解可以被子类继承
@Documented
表示该自定义注解会出现在API文档里面