• 枚举类和注解


    一、枚举类
    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

     

  • 相关阅读:
    妙用Telnet快速收发电子邮件(转载)
    windows server 2003如何安装IIS,配置IIS,让iis支持aspx(收集)
    T7400等DELL工作站及服务器的Windows server 2003系统安装——解决“找不到安装在计算机上的硬盘驱动器 安装无法继续,要退出请按F3”问题
    PostgresSQL连接认证设置(收集)
    安装PostgreSQL :Problem running postinstall (收集)
    UltiDev Cassini Web Server介绍
    配置Lumisoft Mail Server给外网邮箱发消息
    mysql命令行常用命令(收集)
    SQL复制数据表及表结构
    解决lumisoft mail server使用中的错误“550 5.7.1 Unable to relay for xxx”
  • 原文地址:https://www.cnblogs.com/wzlbigdata/p/8383681.html
Copyright © 2020-2023  润新知