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

     

  • 相关阅读:
    AS将一个项目导入到另一个项目中
    Android Studio出现:Cause: unable to find valid certification path to requested target
    小米手机Toast带app名称
    PopupWindow 点击外部区域无法关闭的问题
    EditText inputType类型整理
    Fragment通过接口回调向父Activity传值
    Android selector一些坑
    Installation failed with message Failed to commit install session 634765663 with command cmd package
    旷视上海研究院机器人方向招聘
    语义SLAM的数据关联和语义定位(四)多目标测量概率模型
  • 原文地址:https://www.cnblogs.com/wzlbigdata/p/8383681.html
Copyright © 2011-2022 走看看