枚举类和注解

枚举类

自定义枚举类:

class Season{
    //1.声明Season对象的属性:private final修饰
    private final String seasonName;
    private final String seasonDesc;
    //2.私有化类的构造器,并给对象属性赋值
    private Season(String seasonName,String seasonDesc){
        this.seasonName = seasonName;
        this.seasonDesc = seasonDesc;
    }
    //3.提供当前枚举类的多个对象:public static final的
    public static final Season SPRING = new Season("春天","春暖花开");
    public static final Season SUMMER = new Season("夏天","夏日炎炎");
    //4.其他诉求1:获取枚举类对象的属性
    public String getSeasonName() {
        return seasonName;
    }
    public String getSeasonDesc() {
        return seasonDesc;
    }
    //4.其他诉求1:提供toString()
}

使用enum定义枚举类

enum Season1{
    //1.提供当前枚举类的对象,多个对象之间用","隔开,末尾对象";"结束
    SPRING("春天","春暖花开"),
    SUMMER("夏天","夏日炎炎");
    //2.声明Season对象的属性:private final修饰
    private final String seasonName;
    private final String seasonDesc;
    //2.私有化类的构造器,并给对象属性赋值
    private Season1(String seasonName,String seasonDesc){
        this.seasonName = seasonName;
        this.seasonDesc = seasonDesc;
    }
    //4.其他诉求1:获取枚举类对象的属性
    public String getSeasonName() {
        return seasonName;
    }
    public String getSeasonDesc() {
        return seasonDesc;
    }
    //4.其他诉求1:提供toString()
}

枚举类常用方法(继承与java.lang.Enum)

方法功能
toString()返回枚举类对象的名称
values()返回所有枚举类对象构成的数组
valueOf(String objName)返回枚举类中对象名是 objName 的对象

注解

注解的使用实例:

  1. 生成文档的相关注解
  2. 在编译时进行格式检查(JDK内置的几个基本注解)
    @Override:限定重写父类方法,该注解只能用于方法
    @Deprecated:用于表示所修饰的元素已过时
    @SuppressWarnings:抑制编译器警告
    

自定义注解:

  1. 关键字:@interface
  2. 注解的属性:语法:返回值 名称();
  3. 注解属性类型:基本类型 String 枚举类型 注解类型 Class类型 以上类型的一维数组类型
  4. 元注解:代表修饰注解的注解,作用是限制定义的注解的特性
     @Retention
         SOURCE:注解在源码级别可见
         CLASS:注解在字节码文件级别可见
         RUNTIME:注解在整个运行阶段都可见
     @Target :代表注解修饰的范围,类上使用,方法上使用,字段上使用
         FIELD:字段上可用此注解
         METHOD:方法上可以用此注解
         TYPE:类/接口上可以使用此注解
    
//定义注解
@Target({ElementType.METHOD,ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface MyAnno {
     //注解的属性
     String name();
     int age() default 28;
     //String value();
     //String[] value();
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值