JavaSE - 枚举与泛型

JavaSE - 枚举与泛型

本节学习目标:

  • 了解枚举类型的概念;
  • 了解并掌握枚举类型的使用方式;
  • 了解Enum类及其方法;
  • 了解泛型的概念;
  • 了解并掌握泛型类的使用方式;

1. 枚举类型

使用枚举类型(Enumeration)可以取代以往定义常量的方式,同时枚举类型还赋予程序在编译时进行检查的功能。

1.1 枚举类型的定义

早期设置常量时,通常将常量放置在接口中,这样在程序中可以直接使用,同时该常量不能被修改

public interface Color {
   
    String RED = "红色";
    String GREEN = "绿色";
    String BLUE = "蓝色";
}

JDK1.5之后Java提供了枚举类型,使用枚举类型可以更好的定义常量。枚举类型中的常量使用逗号分隔,并在最后一个常量后使用分号结尾。:

public enum Color {
   
    RED, GREEN, BLUE;
}

Java使用enum关键字来定义枚举类,需要在程序中使用常量时可以使用枚举类名.常量名来获取。

枚举类同样可以以内部类形式被定义在一个类的内部

public class Car {
   
    enum Type {
   
        CAR, TRUCK, BUS;
    }
}

常量可以看做是枚举类的一个对象,枚举类中至少需要定义一个常量,并且只能在开头定义。

1.2 枚举类型的成员

1. 成员变量与静态常量

枚举类中允许定义成员变量静态常量

public enum Signal {
   
    
    OK, FAIL;
    
    private String message;
    public static final String DESC = "这是一个枚举类";
}
2. 构造方法

枚举类中允许定义构造方法,但构造方法必须被private修饰符修饰,因为枚举类的常量数量是固定的,不允许再创建常量:

public enum Signal {
   
    
    OK, FAIL;
    
    private String message;
    private Signal() {
   
        
    }
    Signal(String message) {
   
        this.message = message;
    }
}

由于枚举类中的构造方法必须被private修饰符修饰,因此定义构造方法时可以不写private关键字,默认权限就为private

枚举类一般不写无参构造方法,枚举类的常量直接在枚举类中初始化,这样这些常量可以直接使用:

public enum Signal {
   
    
    OK("成功"), FAIL("失败");
    
    private String message;
    Signal(String message) {
   
        this.message = message;
    }
}

按照有参构造方法的参数列表,在常量后加括号,在括号里传入构造方法的参数

3. 成员方法与静态方法

枚举类中允许定义成员方法静态方法

public enum Signal {
   

    OK("成功"), FAIL("失败");

    private String message;
    Signal(String message) {
   
        this.message = message;
    }
    public String getMessage() {
   
        return message;
    }
    public static void foo() {
   
        System
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值