Java枚举类与注解

枚举类的使用(enum)

概述:

        类的对象只有有限个,确定的。

        比如:星期:Monday .........Sunday

                   性别:Man、Woman

                                                        如果枚举类只有一个:这就是单例模式

    属性:枚举类的对象是不允许被改动的,修饰符:private final 修饰,在构造器中为其赋值

自定义枚举类

步骤 : 1 私有化类的构造器,保证不能在类的外部创建其对象。

               2 在类的内部创建枚举类的实例,声明为:public static final

               3 对象如果没有实例变量,应该声明为private final ,并在构造奇中初始化。

public class EnumTest {
    public static void main(String[] args) {
        System.out.println(Session.Spring);
    }
}
//枚举类
class Session{
    private final String SESSION_NAME;
    private final String SESSION_MONTH;

    public Session(String SESSION_NAME, String SESSION_MONTH) {
        this.SESSION_NAME = SESSION_NAME;
        this.SESSION_MONTH = SESSION_MONTH;
    }

    public static final Session Spring = new Session("春天","三月");
    public static final Session Summer = new Session("夏天","七月");
}

使用enum定义枚举类

enum SessionEnum{
    SPRINFG("春天","三月"),//逗号
    SUMMER("夏天","七月");

    private final String SESSION_NAME;
    private final String SESSION_MONTH;

    private SessionEnum(String SESSION_NAME, String SESSION_MONTH) {
        this.SESSION_NAME = SESSION_NAME;
        this.SESSION_MONTH = SESSION_MONTH;
    }
}

enum类的主要方法:

注解(Annotation)

概述

       从JDK 5.0开始,Java增加了对元数据(MetaData)的支持,也就是Annotation(注解)

        Annotation其实就是代码里的特殊标记,这些标记可以在编译,类加载,运行时被读取,并执行相应的处理。通过使用Annotation,程序员可以在不改变原有逻辑的情况下,在源文件中嵌入一些补充信息。代码分析工具、开发工具和部署工具可以通过这些补充信息进行验证或者进行部署。

       Annotation可以像修饰符一样被使用,可用于修饰包,类,构造器,方法,成员变量,参数,局部变量的声明,这些信息被保存在Annotation的“name=value”对中


了解内容:

 常见的注解:

 自定义注解

@MyAnnotation(value = "使用了注解")
public class MYAnnotationTest {
    public static void main(String[] args) {
        Class clazz = MYAnnotationTest.class;
        Annotation annotation = clazz.getAnnotation(MyAnnotation.class);
        MyAnnotation m = (MyAnnotation)annotation;
        System.out.println(m.value());
    }

}
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@interface MyAnnotation{
    String value() default "注解";
}

@Retention 

 @Target

 @Documented

 @Inherited

 

JDK8中注解的新特性

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值