【零基础学Java】第十六篇 枚举和注解

📄个人简介
🔔作者简介:大家好,我是小学生!!🙈大二学生一枚,目前正在自学Java,如果大家觉得我写的还不错的话,希望大家给我点赞👍+收藏⭐+评论📢,有什么写的不对的地方还请大家多多指教🙏,共同进步。
📝个人主页:小学生!!
📖系列专栏
🌕阶段一:Java基础编程
💦目前已原创16篇

🌕阶段二:数据结构与算法
🌕阶段三:操作系统
🌕阶段四:计算机网络


🔥本文主要介绍了枚举类型的基本使用,自定义实现枚举,enum实现枚举,enum的常用方法,以及三种基本注解的介绍@Override,@Deprecated,@SuppressWarnings


1.枚举

1.基本介绍

枚举是一组常量的集合。可以理解为一种特殊的类,里面只包含一组有限的特定的对象。

2.自定义实现枚举

1.构造器私有化

2.本类创建一组对象

3.对外暴露对象

public class Enum01 {
    public static void main(String[] args) {
        System.out.println(Season.AUTUMN);
    }
}
class Season {
    private String name;
    private String desc;
    public static  final Season SPRING = new Season("春天","温暖");
    public static  final Season SUMMER = new Season("夏天","炎热");
    public static  final Season AUTUMN = new Season("秋天","凉爽");
    public static  final Season WINTER = new Season("冬天","寒冷");
    private Season(String name, String desc) {
        this.name = name;
        this.desc = desc;
    }
}

3.enum关键字实现枚举

1.使用enum代替class。

2.public static final Season SPRING = new Season(“春天”,“温暖”);换成SPRING(“春天”,“温暖”),各个之间用逗号连接。

3.用无参构造器创建枚举对象,可将括号和实参列表都省略。

4.枚举对象必须放在枚举类的首行。

public class Enum01 {//1.使用enum代替class
    public static void main(String[] args) {
        System.out.println(Season.AUTUMN);
    }

}
enum  Season {
    //4.枚举对象必须放在枚举类的首行。
    //2.将public static  final Season SPRING = new Season("春天","温暖");
    //换成SPRING("春天","温暖"),各个之间用逗号连接。
    SPRING("春天","温暖"),SUMMER("夏天","炎热"),
    AUTUMN("秋天","凉爽"),WINTER("冬天","寒冷"),HAO_JI_ALE;
    //3.用无参构造器创建枚举对象,可将括号和实参列表都省略。
    private String name;
    private String desc;
    private Season(String name, String desc) {
        this.name = name;
        this.desc = desc;
    }
   private Season(){
    }
}

5.enum关键字实现枚举类,默认会继承Enum类,所以不能再继承其他类(java单继承机制)。可用javap证明。

从图可以看出枚举类继承了java.lang包中的Enum类,并且还是final类型的
在这里插入图片描述

6.枚举类和普通类一样,可以实现接口。

4.enum常用方法

1.toString:Enum类已重写,返回当前对象名,子类也可以重写这个方法,返回对象的属性。

2.name:返回当前对象名,子类不能重写。

3.ordinal:返回当前对象的位置号,默认从0开始。

4.values:返回枚举类中所有常量。

5.valueof:将字符串转换成枚举对象。字符串必须是已有的常量名。

6.compareTo:比较两个枚举常量,比较的就是编号。

2.注解

1.@Override

@Override表示指定重写父类的方法。

@Override只能修饰方法,不能修饰其他类,包,属性等

2.@Deprecated

@Deprecated修饰某个元素表示该元素已过时。(不推荐使用,但还能使用)

可以修饰方法,类,字段,包,参数等等。

3.@SuppressWarnings

@SuppressWarnings{""}可以帮助我们看不到我们不想看到的警告信息,在{""}可以写入你想抑制的警告信息。

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小学生!!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值