枚举类型较传统定义常量的方式,除了具有参数类型检测的优势之外,还具有其他方面的优势。
用户可以将一个枚举类型看作是一个类,它继承于 java.lang.Enum 类,当定义一个枚举类型时,每一个枚举类型成员都可以看作是枚举类型的一个实例,这些枚举类型成员都默认被final、 public、static修饰,所以当使用枚举类型成员时直接使用枚举类型名称调用枚举类型成员即可。
package com.example.enumerate;
import javax.swing.*;
//将常量放置在接口中
interface Constants{
public static final int Constatnts_A=1;
public static final int Constatnts_B=12;
}
//将常量放置在枚举中
public class ConstantsTest{
enum Constants2{
Constants_A, Constants_B
}
//使用接口定义常量
/* public static void doit(int c){
switch (1){
case Constants.Constatnts_A:
System.out.println("doit() Constants_A");
break;
case Constants.Constatnts_B:
System.out.println("doit() Constants_B");
break;
}
}*/
//定义一个参数对象是枚举类型的方法
public static void doit2(Constants2 c){
switch (c){
case Constants_A:
System.out.println("doit()1 Constants_A");
break;
case Constants_B:
System.out.println("doit2()1 Constants_B");
break;
}
}
public static void main(String[] args) {
//使用接口中定义的常量
// ConstantsTest.doit(Constants.Constatnts_A);
//使用枚举类型中的常量
ConstantsTest.doit2(Constants2.Constants_A);
// 使用枚举类型中的常量
ConstantsTest.doit2(Constants2.Constants_B);
//备注:该方法接受接口中定义的常量参数
// ConstantsTest.doit(1);
//备注:因为方法只接受枚举类型的常量作为参数
// ConstantsTest.doit2(3);
}
}
标签:常量,区别,接口,枚举,static,类型,public,Constants
From: https://www.cnblogs.com/DuWenjie/p/18119149