JavaSe第七天笔记小记

JavaSe第七天笔记小记

1、枚举类

如果一个类的对象是有限和固定的,则可以使用枚举类

1-1 枚举类与普通类的相同之处

  • enum与class、interface具有相同的地位
  • 可以继承多个接口
  • 可以具有构造器、成员方法、成员变量

1-2 枚举类与普通类的不同之处

  • 枚举类默认继承java.util.Enum,因此不能继承其他父类,其中java.util.Enum类实现了java.lang.Serializable 和 java.lang.Comparable 接口
  • 当定义一个枚举类型时,每一个枚举类型成员都可以看作是Enum类的实例,这些枚举成员都被final public static修饰,当使用这些枚举成员时,直接使用枚举名称调用成员即可
  • 使用enum定义,默认使用final修饰,因此不能派生子类
  • 构造器默认使用private修饰,且只能使用private修饰
  • 枚举类所有实例必须在第一行给出,默认添加public static final修饰,否则无法产生实例

1-3 Enum类的常用方法

方法名称 描述
values() 以数组形式返回枚举类型的所有成员
valueOf() 将普通字符串转换为枚举实例(该枚举实例必须在枚举类中有定义)
compareTo() 比较两个枚举成员在定义时的顺序
ordinal() 获取枚举成员的索引位置
// 创建一个包含 3 个成员的枚举类型 Signal,然后调用 values() 方法输出这些成员。 
enum Signal {
    // 定义一个枚举类型
    GREEN,YELLOW,RED
}

public class TrafficLight {
    public static void main(String[] args) {
        for(int i = 0; i < 3; i++){
            System.out.println(Signal.values()[i]);
        }
    }

}

1-4 为枚举类添加新方法

Java 为枚举类型提供了一些内置的方法,同时枚举常量也可以有自己的方法。此时要注意必须在枚举实例的最后一个成员后添加分号,而且必须先定义枚举实例

public class TestEnum {
    public static void main(String[] args) {
        Season spring = Season.SPRING;
        Season summer = Season.SUMMER;
        Season automn = Season.FALL;
        Season winter = Season.WINTER;

        spring.showInfo();
        summer.showInfo();
        automn.showInfo();
        winter.showInfo();

        // 枚举类中的实例都只能有一份
        Season spring_1 = Season.SPRING;
        Season spring_2 = Season.SPRING;

        System.out.println(spring_1 == spring_2);
        System.out.println(spring_1.equals(spring_2));

    }

}

enum Season {
    SPRING("春天","春暖花开"),
    SUMMER("夏天","热起来了"),
    FALL("秋天","落叶纷飞"),
    WINTER("冬天","冰天雪地");

    String sName;        // 季节
    String sentence;     // 标语

    Season(String sName, String sentence) {
        this.sName = sName;
        this.sentence = sentence;
    }

    public void showInfo(){
        System.out.println("季节:" + sName + " 标语:" + sentence);
    }
}

运行结果:

季节:春天 标语:春暖花开
季节:夏天 标语:热起来了
季节:秋天 标语:落叶纷飞
季节:冬天 标语:冰天雪地
true
true


2、注解(Annotation)

Java 注解(Annotation)又称 Java 标注,是 JDK5.0 引入的一种注释机制。

注解即代码里的特殊标记,这些标记可以在编译、类加载、运行时被读取,并执行相对应的处理,通过注解,我们可以在不改变原有逻辑的情况下,在源文件中嵌入一些补充信息。

内置的注解

Java 定义了一套注解,共有 7 个,3 个在 java.lang 中,剩下 4 个在 java.lang.annotation 中。

作用在代码的注解是

  • @Override - 检查该方法是否是重写方法。如果发现其父类,或者是引用的接口中并没有该方法时,会报编译错误。
  • @Deprecated - 标记过时方法。如果使用该方法,会报编译警告。
  • @SuppressWarnings - 指示编译器去忽略注解中声明的警告。

猜你喜欢

转载自www.cnblogs.com/lorz5-blog/p/13388722.html