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

     

  • 相关阅读:
    HDU 1501 Zipper(DFS)
    HDU 2181 哈密顿绕行世界问题(DFS)
    HDU 1254 推箱子(BFS)
    HDU 1045 Fire Net (DFS)
    HDU 2212 DFS
    HDU 1241Oil Deposits (DFS)
    HDU 1312 Red and Black (DFS)
    HDU 1010 Tempter of the Bone(DFS+奇偶剪枝)
    HDU 1022 Train Problem I(栈)
    HDU 1008 u Calculate e
  • 原文地址:https://www.cnblogs.com/wzlbigdata/p/8383681.html
Copyright © 2011-2022 走看看