枚举(Enumeration)、注解@

枚举有个隐式继承extends java.lang.Eunm,不能再继承了。

枚举:把具体的对象一个一个列举出来的类

枚举是一组常量的集合,它属于一种特殊的类,里面只包含一组有限的特定的对象

枚举类型的构造方法,只能用private私有

可以有抽象方法,但要使用匿名内部类

枚举对象值通常为只读

  1. 将构造器私有化,防止直接new

  2. 去掉setXxx方法,防止属性被修改

  3. 在类内部,直接创建固定对象,用final + static修饰

  4. 通过enum来实现枚举类:

  • enum ---> 代替class

  • 常量名1(实参列表),常量名2(实参列表);

  • 枚举对象必须放在枚举类的行首

public enum Week {
    MON,
    TUE,
    WED,
    THU,
    FRI,
    SAT,
    SUN;
}

values(): 获取枚举中定义的所有常量对象

HttpStatus[] values = HttpStatus.values();
for (HttpStatus value : values) {
	System.out.println(value);
}

枚举方法

values 获取所有的枚举对象,返回一个数组

枚举项之间用==比较

package com.xxx.test2;

public enum Color2{
    BLUE{
        @Override
        public String getColor() {
            return "蓝色";
        }
    },RED{
        @Override
        public String getColor() {
            return null;
        }
    },PINK {
        @Override
        public String getColor() {
            return null;
        }
    };

    private String name;
    //可以有抽象方法,但要使用匿名内部类
    public abstract String getColor();
}

注解

注解是修饰Java代码中的类、方法、属性、参数的一种特殊“注释”;
但是它又和注释不尽相同,注释(除文档型注释)会被编译器忽略,而注解会被编译到.class文件中。

@Override 检查该方法是否是重写方法

@Deprecated 标记过时方法

@SuppressWarnings 指示编译器去忽略注解中声明的警告

Lambda表达式

  • 也称闭包

  • 操作符->

  • 表达式 ()-> {}

构造代码块

new 对象的时候就会执行

构造代码块优先于构造方法执行

posted @ 2023-01-17 21:28  Ritchie^._.^  阅读(107)  评论(0)    收藏  举报