301 | 枚举、注解

枚举

引出:自定义实现枚举

  • 构造器私有化
  • 本类内部创建一组对象,public final static 修饰
  • 对外暴露对象,提供get方法,但不提供set方法

enum关键字

  • 使用enum替代class关键字,默认继承Enum类
  • public final static Season Spring = new Seanson(“春天”,“温暖”) 可简化为 常量名(实参列表),多个用逗号,不用分号间隔。若使用无参构造器,小括号可省略,如 Spring();Spring;
Spring("春天""温暖"), Winter("冬天","寒冷")Autumn("秋天","凉爽")Summer("夏天","炎热")
  • 用enum实现枚举,要求将定义枚举常量对象写在类的最前面

enum常用方法

Season spring = Season.spring;
System.out.pringln(spring.name());
System.out.pringln(spring.ordinal());
Season[] values = Season.values();
for(Season season: values){ //增强for循环,每次循环从values中取一个value给season
	System.out.pringln(season);
}
Season value = Season.valueOf("Spring");
System.out.pringln(Season.Spring.compareTo(Season.Summer));// Spring编号减去Summer编号 为 -1
enum常用方法作用
.toString()Enum的ToString() 返回枚举对象名
.name()枚举对象名
.ordinal()枚举对象在枚举数组内的编号,从0开始编号
.values()返回当前枚举类中所有的常量
.valueOf()根据输入的名称去枚举类中找,找到返回对象,没找到会报错
.compareTo()枚举对象编号-括号里的枚举对象编号

使用细节

  • 枚举类不能继承其他类,因为已经继承Enum类,java单继承机制
  • 枚举类还是类,可以实现接口

注解 annotation,也被称元数据Metadata

内置注解 @interface 不是注解是在jdk1.5之后加的注解类

JDK内置注解作用
@Override只能用在方法上,声名是重写;没写该注解还是默认重写;写了的话,编译器会检查该方法是否重写,若没构成则出错,起检查作用
@Deprecated修饰某个元素(类、方法、属性)过时了,不推荐使用但可以使用,可做版本升级使用
@SuppressWarning({})抑制编译警告,{ }里写指定的可忽略的警告

元注解:修饰注解的注解

现在用得不多,了解即可,看源码有时候有用

元注解作用
@Retenion注解适用范围,SOURCE,CLASS,RUNTIME
@Target指定注解可以在哪些地方使用
@Documented注解是否会在javadoc中体现
@Inherited子类会继承父类注解
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值