java 中的doit(n)_Java开发知识之Java的枚举

Java开发知识之Java的枚举

一丶什么是枚举

枚举可以理解为就是常量,在Java中我们定义常量.都是用 final语句. C++中都是用const关键字.

枚举跟C++概念都是一样的.就是特定的常量而已.

二丶Java中的枚举

java中的常量.一般都是final定义.但是我们讲过.final定义的常量.初始化的时候可以每次给不同的值.

所以加上static 才能保证其内存不会改变.一般常量都是定义在接口中给我们使用的.

可能需要连续定义.

例如:

public final static int a = 1;

public final static int b = 2;

public final static int c = 3;

....

枚举就是管理一组常量的一个结构而已.

据图语法如下:

权限修饰符 enum关键字 枚举名称{

枚举常量,

枚举常量,

枚举常量

}

枚举常量的定义

枚举名称  常量;

具体使用如下代码:

类代码:

public classMyTestenum {publicMyTestenum() {//TODO 自动生成的构造函数存根

}public enumNUMBER{

N_NUMBER1,

N_NUMBER2,

N_NUMBER3

}

}

外部new对象.并且使用enum定义常量.

public static void main(String[] args) throwsMyException {

MyTestenum t= newMyTestenum();

NUMBER n= NUMBER.N_NUMBER1; //定义枚举常量n,必须初始化,可以为null也可以是枚举中的常量.

switch(n) {caseN_NUMBER1:

System.out.println("1");break;caseN_NUMBER2:

System.out.println("2");break;caseN_NUMBER3:

System.out.println("3");break;

}

}

可以看到.我们可以直接使用 枚举 定义枚举变量. 并且赋值其中一个枚举常量.

但是我们又有疑问了. 我们的枚举常量并没有初始化.但是为什么程序不出错.而且还打印了1;

原因是. 枚举常量.默认就是从0开始.

三丶枚举作为方法传递

我们可以定义枚举常量.规定只接受什么类型的枚举.

public classMyTestenum {publicMyTestenum() {//TODO 自动生成的构造函数存根

}enumNUMBER{

N_NUMBER1 ,

N_NUMBER2 ,

N_NUMBER3

}public static voiddoit(NUMBER c) {switch(c) {caseN_NUMBER1:break;caseN_NUMBER2:break;caseN_NUMBER3:break;

}

}

}

使用:

public static void main(String[] args) throwsMyException {

MyTestenum.doit(NUMBER.N_NUMBER1);

}

我们要传入枚举常量才可以.

四丶枚举的高级用法

我们知道.JAVA是一个面向对象的程序. 我们定义的枚举.其实已经默认继承了一个类

枚举类型可以看做一个类,其中的成员也都被默认使用 final public static 修饰了.所以枚举名称(变量)

其实就是一个引用.他继承了父类.则有父类的方法可以使用.

常用方法;

6d8df8f95ce35844aa374d7109c99984.png

代码举例以values()为例.遍历枚举成员

public static void main(String[] args) throwsMyException {

MyTestenum.doit(NUMBER.N_NUMBER1);

NUMBER n= null;for(int i = 0; i < n.values().length;i++) {

System.out.print(" " +n.values()[i]);

}

}

1f8259b5e06bafb4bd5d531c2e9fcaf0.png

使用方法返回了一个数组. 又使用链式方法.调用了 length求数组成员. 下面则进行遍历.

五丶知识总结

1.定义枚举关键字

enum 名称{成员,成员};

1.枚举定义的成员. 默认都是 public static  final 修饰的. 其成员是一个常量.且内存不可以更改.

2.枚举方法.

枚举可以当参数传递给方法使用.

3.枚举高级用法

枚举可以看成一个类.他的成员都是它的实例. 它集成子java.lang.Enum类. 我们可以使用方法进行遍历.

例如values():返回枚举数组. 可以进行遍历枚举.并且输出结果.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值