所谓的常量就是不可改变的量。在java里面凡是被final关键字修饰的量,我们就称之为常量。常量式不可以改变的,变量式可以改变的,下面我们来看看一个程序。
首先我们来定义一个接口,我们知道接口里面的量都是静态的常量。还是来看看代码.
public interface Seasion {
public static int SPRING=1;
public static int Summer=2;
public static int autuom=3;
public static int WINTER=4;
}
定义了一个四季的接口,里面都是静态的常量。
下面我们来看看主程序的类.
public class Demo {
public static void doit(int c) {
switch (c) {
case Seasion.SPRING:
System.out.println("doit()春天");
break;
case Seasion.Summer:
System.out.println("doit()夏天");
break;
case Seasion.autuom:
System.out.println("doit()秋天");
break;
case Seasion.WINTER:
System.out.println("doit()冬天");
break;
}
public static void main(String[] args) {
doit(Seasion.SPRING);
doit(3);
doit(100);
doit2(Seasion2.SPRING);
doit2(Seasion2.SUMMER);
}
}
我们可以看到写这么一个简单的 程序,使用普通的静态的常量代码非常的长。代码很简单,这里就不多介绍了。下面我们主要来看看枚举。首先我们定义一个枚举类,它的关键字就是enum.枚举类继承来自JAVA.lang.enum继承来自这个包.
枚举定义的量,不像普通的量那么麻烦,下面我们来看看如何定义一个枚举类.
public enum Seasion2 {
//创建枚举类型2
SPRING,SUMMER,AUTUOM,WINTER;
}
如上代码定义了一个枚举类 .枚举类的定义非常的简单,直接将枚举类型放在里面就可以了。我们在使用枚举类型来重写上面的代码。
public static void doit2(Seasion2 s) {
switch (s) {
case SPRING:
System.out.println("doit2()春天");
break;
case SUMMER:
System.out.println("doit2()夏天");
break;
case AUTUOM:
System.out.println("doit2()秋天");
break;
case WINTER:
System.out.println("doit2()冬天");
break;
}
代码非常的简洁,最主要的式避免了风险,假如我们在上面的代码传入比4要大的数值的话,编辑器并不会报错,但是枚举
类型就是不一样了。主要你输出的不是枚举类型里面的常量,编辑器就会报错.
\