枚举和注解

问题引出

我们已经知道了类,对象的一些基本知识,现在我们如果碰到了一个问题,问的是如果我们有一个季节类,我们要创建关于季节类的对象,很清楚 可以创建春夏秋冬四个对象,但是 我们通过季节类还能创造其他对象,这是我们不想要的。我们希望他只能创造这几个对象。因此引出了枚举类的概念。
在这里插入图片描述

枚举的实现

自定义类实现枚举
  1. 私有化构造器
  2. 去掉Set方法
  3. 在内部创建对象
  4. 如果要优化的话可以加final来修饰
  5. 枚举的对象名一般全部大写
enum 关键字来实现枚举
  1. 使用enum来替代声明类时的class
  2. 类的最前面添加常量对象,形式为: 对象名(形参列表)。本质上前面有public static final 类名 修饰
  3. 多个常量对象用逗号隔开,而非分号,最后那个采用分号
  4. 如果我们使用无参构造器,则()可以省略
  5. 我们创建的枚举类,隐式继承Enum类

枚举类的方法

  1. name: 输出枚举对象的名称
  2. ordinal: 返回枚举对象的次序,从0开始
  3. values :返回了一个数组 包含了所有的枚举对象
  4. valueOf:输入对象名,如果在枚举类中能找到就返回,找不到就会报错
  5. compareTo:时对象次序相减 小于零代表前面的编号小于输入的对象,反之大于。

enum类接口问题

enum类隐式继承Enum,不能继承其他类,但是可以实现接口

注解

@interface是注解不是接口

@override

  1. 限定某方法是重写方法。只能用在方法。不能修饰属性,包,类。
  2. 放在方法上,表示重写了基类的同名方法。
  3. 如果没有写override,子类方法依然构成重写,那么也不会报错。
  4. 在重写方法之前写override是为了校验,怕出什么问题。如果 没有构成重写但是有override则会报错

@Target

是用来修饰注解的注解,称为元注解

@Deprecated

  1. 表示该元素已经过时了,但任然可以使用,只是不推荐。
  2. 可以修饰方法,类,包,参数 等
  3. 是用来版本升级的过度使用

SuppressWarnings

  1. 可以用来抑制警告,具体可以这样使用 在这里插入图片描述
  2. 在引号中加入想要的关键字

元注解

  1. Retention:指定注解的作用范围,主要有三个:SOURCE ,CLASS,RUNTIME
  2. Target:指定注解可以在那些地方使用
  3. Documented:指定该注解是否会在javadoc中体现
  4. inherited:子类会继承父类的注解
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值