Java基础知识学习——枚举类、注解

本文介绍了Java中的枚举类,包括其两种定义方式和常用方法如values()、valueOf()和toString()。同时,文章详细讲解了注解的使用,如JDK内置的@Override、@Deprecated和@SuppressWarnings,以及自定义注解的创建。还讨论了元注解的作用,如Retention、Target、Documented和Inherited。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

知识点汇总

枚举类的使用:
类的对象只有有限个,确定的时候称为枚举类。
定义枚举类:
方式一:jdk5.0之前自定义枚举类
方式二:使用enum关键字定义枚举类
Enum中常用的方法:
values()方法,valueOf()方法,toString()方法。
代码示例:

public class EnumTest{
    public static void main(String[] args) {
        System.out.println(Student.senior);
        //toString()
        System.out.println(Student.sophomore.toString());
        //values()
       Season1[] Student= Student.values();
        for (int i = 0; i < Student.length; i++) {
            System.out.println(Student[i]);
        }
        //valueOf
        System.out.println(Student.valueOf("sophomore"));
    }
}
//实现接口
interface Info{
    void showDetail();
}
enum  Student implements Info{
    //提供当前枚举类的多个对象
    //让枚举类中的对象分别实现接口中的抽象方法
    FreshMan("大一", "稚嫩"){
        @Override
        public void showDetail() {
        }
    },
    sophomore("大二","成熟"){
        @Override
        public void showDetail() {
        }
    },
    junior("大三","老练"){
        @Override
        public void showDetail() {
        }
    },
    senior("大四","佛系"){
        @Override
        public void showDetail() {
        }
    };

    //声明Season对象的属性
    private final String studentName;
    private final String desc;

    //1.私有化构造器
    private Season1(String studentName, String desc) {
        this.studentName = studentName;
        this.desc = desc;
    }
        public String getstudentName () {
            return studentName;
        }

        public String getDesc () {
            return desc;
        }

    @Override
    public void show() {
        System.out.println("这是一个接口实现方法一");
    }
    }

知识点汇总

注解的使用:
jdk5.0新增的 ①生成文档相关的注解②在编译时进行格式检查
三个基本的注解JDK内置:
1.@Override限定重写父类方法,该注解只能用于方法。
2.@Deprecated用于表示所修饰的元素(类、方法等)已过时。
3.@SuppressWarnings抑制编译器警告。
自定义注解:注解声明为@interface->内部定义成员,通常使用value表示
->可以指定成员的默认值,使用default定义。
jdk提供的四种元注解:(对现有的注解进行解释说明的注解)
1.Retention指定修饰Annotation的生命周期:(RetentionPolicy)SOURCE/CLASS/RUNTIME。
2.Target:指定被修饰的Annotation能用于修饰那些程序元素(ElementType)
3.Documented:指定被修饰的Annotation将被javadoc工具提取成文档(必须设置Retention为RUNTIME)。
4.Inherited:被他修饰的Annotation将具有继承性。

//自定义注解
public @interface MyAnnotation{
        String value() default "sky";
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值