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

     

  • 相关阅读:
    Oracle VM VirtualBox 虚拟机中桥接模式一直不能用 ,需要安装 VBoxNetLwf.inf
    Windows7窗口跑到屏幕外面
    手动操作群晖蜂鸣器指示灯方法
    DHT11温湿度传感器接入HomeBridge
    DIY树莓派Homebridge智能台灯
    群晖NAS局域网无法跑满千兆排查
    虚拟机性能监控与故障处理工具------JDK的命令行工具
    垃圾收集器与内存分配策略-内存分配与回收策略
    Minor GC 与Full GC有什么不一样
    java的关键字与保留字
  • 原文地址:https://www.cnblogs.com/wzlbigdata/p/8383681.html
Copyright © 2011-2022 走看看