java基础知识总结7(枚举+泛型)

本文详细介绍了Java中的枚举特性,包括枚举的声明、枚举常量、Switch语句、添加方法、实现接口等。同时,文章还探讨了Java泛型的基本概念、作用范围、协变与泛型的差异,以及泛型类、泛型方法的使用。通过枚举和泛型的结合,可以提升代码的可读性和安全性。
摘要由CSDN通过智能技术生成

七、枚举

枚举是一个类类型,是JDK1.5的新特性
枚举的关键字是enum
Java中所有的枚举类都是java.lang.Enum的子类

注意:枚举类中可以包含成员有【字段(常量)、方法(构造方法、普通方法)】

枚举中不能有number;不能赋值————类

只有顺序可以比较———–

语法:

enum 枚举名{

     枚举体

}

例:

enum Direction{//枚举体

     EAST,SOUTH,WEST,NORTH//后面可以有分号也可以没有

}

调用:枚举名.成员

枚举名 name =枚举名.成员;

Direction dir = Direction.EAST;

Enum的方法使用:

Javap—————查看字节码文件

代码:

enum Direction{

EAST(‘e’),SOUTH(’s’),NORTH(‘n’),WEST(‘w’);

protected char a;

private Direction(char a){

this.a = a;

}

public String toString(){

return a+”“;

}

}

字节码:

———- javap ———-

Compiled from “Direction.java”

final class Direction extends java.lang.Enum {//不能被实例化

public static final Direction EAST;

public static final Direction SOUTH;

public static final Direction NORTH;

public static final Direction WEST;

protected char a;//默认是private,但可以使用4P

public static Direction[] values();//默认方法,用来遍历打印枚举成员

public static Direction valueOf(java.lang.String);

public java.lang.String toString();

static {};//静态初始化块

}

由上面可以知道枚举继承java.lang.Enum类,参数的默认修饰符public static final,在枚举中可以使用4p

public enum A{BLUE,RED,BLACK};//声明并定义一个枚举,初始化为。。。

在一个类中定义一个enum成员,enum默认是静态的————-相当于类变量

枚举的用法

一、常量

枚举出来之前都是通过接口

在JDK1.5 之前,我们定义常量都是: public static fianl,现在可以把相关的常量分组到一个枚举类型里,例:

public enum Color {

RED, GREEN, BLANK, YELLOW

}

二、Switch

JDK1.5之后的switch语句支持Byte,short,int,char,enum类型,使用枚举,能让我们的代码可读性更强,JDK1.7之后开始支持String类型,例:

enum Signal {

     GREEN, YELLOW, RED

}

public class TrafficLight {

     Signal color = Signal.RED;

     public void change() {

               switch (color) {

               case RED:

                        color = Signal.GREEN;

                        break;

               case YELLOW:

               
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值