0
点赞
收藏
分享

微信扫一扫

面向对象的最后一步


枚举和注解

  • ​​枚举的两种实现方式​​
  • ​​注解​​
  • ​​基本注解介绍​​
  • ​​三个基本的注解​​
  • ​​元注解的基本介绍​​
  • ​​元注解的种类​​

枚举是一组常量的集合

枚举是一组特殊的类,里面只包含一组有限的特定的对象。

枚举的两种实现方式

1.自定义类实现枚举

1)不需要提供setXxx方法,因为枚举对象值通常只读

2).对枚举对象/属性使用 final+static 共同修饰,实现底层优化

3).枚举对象名通常使用全部大写,常量的命名规范。

4).枚举对象根据需要,也可以多个属性

public class Enumeratea {
public static void main(String[] args) {
System.out.println(Season.spring);
System.out.println(Season.summer);
System.out.println(Season.autumn);
System.out.println(Season.winter);
}
}
class Season{
private String name;
private String desc;//特点
//final和static一起使用,会在不加载类的情况访问属性
public static final Season spring = new Season("春天","温暖");
public static final Season summer = new Season("夏天","炎热");
public static final Season autumn = new Season("秋天","凉爽");
public static final Season winter = new Season("冬天","寒冷");
public Season(String name, String desc) {
this.name = name;
this.desc = desc;
}
@Override
public String toString() {
return "Season" +"{"+
"name='" + name + '\'' +
", desc='" + desc + '\'' +
'}';
}
}

2.使用enum关键字实现枚举

public class Enumeratea02 {
public static void main(String[] args) {
System.out.println(Season.spring);
System.out.println(Season.summer);
System.out.println(Season.autumn);
System.out.println(Season.winter);


}
}
enum Season02{
//final和static一起使用,会在不加载类的情况访问属性
spring("春天","温暖"),
summer("夏天","炎热"),
autumn ("秋天","凉爽"),
winter("冬天","寒冷");
private String name;
private String desc;//特点

private Season02(String name, String desc) {
this.name = name;
this.desc = desc;
}
@Override
public String toString() {
return "Season" +"{"+
"name='" + name + '\'' +
", desc='" + desc + '\'' +
'}';
}
}

1).当我们使用enum关键字开发一个枚举类时,默认会继承Enum类

2)传统的public static final Season spring = new Season(“春天”,“温暖”);

简化成spring(“春天”,“温暖”);

3).如果使用无参构造器创建枚举对象则实参列表和小括号都可以省略

4).当有多个枚举对象时,使用间隔,符号,最后有一个分号结尾

5).枚举对象必须放在枚举类的行首

使用enum关键字的细节

1、使用关键字后,就不能在继承其他类,因为enum会隐式继承Enum

,Java是单继承机制

2.枚举类和普通类一样,可以实现接口

enum 类名  implements  接口1  接口2{}

注解

基本注解介绍

注解被称作元数据,用于修饰解释包、类、方法、属性、构造器、局部变量等数据信息。

它和注释一样,注解不影响程序逻辑,但注解可以被编译或运行,相当于嵌入在代码中的

补充信息。

使用注解时要在前面加@符号,把注解当成一个修饰符,用于修饰它支持的元素

三个基本的注解

1.@Override:限定某个方法,是重写父类方法,此注解只用于方法

2.@Deprecated:用于表示某个程序元素(类,方法等)(了解一下)

3.@SuppresWarnings:抑制编辑器警告

元注解的基本介绍

jdk的元注解用于修饰其他注解

元注解的种类

1.Retention :指定注解的作用范围,三种source,class,runtime

2.Target 指定注解可以在哪些地方使用

3.Documented 指定该注解是否会在javadoc体现

4.inherited :子类会继承父类注解

举报

相关推荐

0 条评论