zoukankan      html  css  js  c++  java
  • 枚举类和注解

    一、枚举类
    1.如何自定义枚举类。 枚举类:类的对象是有限个的,确定的。
    1.1 私有化类的构造器,保证不能在类的外部创建其对象
    1.2 在类的内部创建枚举类的实例。声明为:public static final
    1.3 若类有属性,那么属性声明为:private final 。此属性在构造器中赋值。
    2.使用enum关键字定义枚举类
    >2.1其中常用的方法:values() valueOf(String name);
    >2.2枚举类如何实现接口 :①让类实现此接口,类的对象共享同一套接口的抽象方法的实现。
    ①让类的每一个对象都去实现接口的抽象方法,进而通过类的对象调用被重写的抽象方法时,执行的效果不同

    public class TestSeason1 {
    public static void main(String[] args) {
    Season1 spring = Season1.SPRING;
    System.out.println(spring);
    spring.show();
    System.out.println(spring.getSeasonName());

    System.out.println();
    //1.values()
    Season1[] seasons = Season1.values();
    for(int i = 0;i < seasons.length;i++){
    System.out.println(seasons[i]);
    }
    //2.valueOf(String name):要求传入的形参name是枚举类对象的名字。
    //否则,报java.lang.IllegalArgumentException异常
    String str = "WINTER";
    Season1 sea = Season1.valueOf(str);
    System.out.println(sea);
    System.out.println();

    Thread.State[] states = Thread.State.values();
    for(int i = 0;i < states.length;i++){
    System.out.println(states[i]);
    }
    sea.show();

    }
    }
    interface Info{
    void show();
    }
    //枚举类
    enum Season1 implements Info{
    SPRING("spring", "春暖花开"){
    public void show(){
    System.out.println("春天在哪里?");
    }
    },
    SUMMER("summer", "夏日炎炎"){
    public void show(){
    System.out.println("生如夏花");
    }
    },
    AUTUMN("autumn", "秋高气爽"){
    public void show(){
    System.out.println("秋天是用来分手的季节");
    }
    },
    WINTER("winter", "白雪皑皑"){
    public void show(){
    System.out.println("冬天里的一把火");
    }
    };

    private final String seasonName;
    private final String seasonDesc;

    private Season1(String seasonName,String seasonDesc){
    this.seasonName = seasonName;
    this.seasonDesc = seasonDesc;
    }
    public String getSeasonName() {
    return seasonName;
    }
    public String getSeasonDesc() {
    return seasonDesc;
    }

    @Override
    public String toString() {
    return "Season [seasonName=" + seasonName + ", seasonDesc="
    + seasonDesc + "]";
    }
    // public void show(){
    // System.out.println("这是一个季节");
    // }
    }


    二、注解Annotation
    1.JDK提供的常用的三个注解
    @Override: 限定重写父类方法, 该注释只能用于方法
    @Deprecated: 用于表示某个程序元素(类, 方法等)已过时
    @SuppressWarnings: 抑制编译器警告

    2.如何自定义注解
    以SuppressWarnings为例进行创建即可

    3.元注解:可以对已有的注解进行解释说明。
    Retention: SOURCE CLASS RUNTIME
    Target:
    Documented:javadoc
    Inherited

     

  • 相关阅读:
    windows下Mysql免安装版,修改my_default.ini配置文件无效的解决办法
    下压桟(LIFO)
    Dijkstra的双栈算术表达式求值算法
    获取中文的完整拼音并输出
    解析一个文件夹所有文件的中文,并输出到某一文本文档中
    在含有中英文字符串的信息中,提出中文的方法
    创建计算字段
    Docker 常用命令
    mqtt常用命令及配置
    LOG4J
  • 原文地址:https://www.cnblogs.com/wzlbigdata/p/8383681.html
Copyright © 2011-2022 走看看