博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何在Java中定义常量(Constant)
阅读量:6860 次
发布时间:2019-06-26

本文共 2815 字,大约阅读时间需要 9 分钟。

1 /** 2  * Method One 3  */ 4 interface ConstantInterface { 5     String SUNDAY = "SUNDAY"; 6     String MONDAY = "MONDAY"; 7     String TUESDAY = "TUESDAY"; 8     String WEDNESDAY = "WEDNESDAY"; 9     String THURSDAY = "THURSDAY";10     String FRIDAY = "FRIDAY";11     String SATURDAY = "SATURDAY";12 }13 /**14  * Method Two 15  */16 enum ConstantEnum {17     SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY18 }19 /**20  * Method Three21  */22 class ConstantClassField {23     public static final String SUNDAY = "SUNDAY";24     public static final String MONDAY = "MONDAY";25     public static final String TUESDAY = "TUESDAY";26     public static final String WEDNESDAY = "WEDNESDAY";27     public static final String THURSDAY = "THURSDAY";28     public static final String FRIDAY = "FRIDAY";29     public static final String SATURDAY = "SATURDAY";30 }31 /**32  * Method Four33  * http://www.ibm.com/developerworks/cn/Java/l-java-interface/index.html34  */35 class ConstantClassFunction {36     private static final String SUNDAY = "SUNDAY";37     private static final String MONDAY = "MONDAY";38     private static final String TUESDAY = "TUESDAY";39     private static final String WEDNESDAY = "WEDNESDAY";40     private static final String THURSDAY = "THURSDAY";41     private static final String FRIDAY = "FRIDAY";42     private static final String SATURDAY = "SATURDAY";43     public static String getSunday() {44         return SUNDAY;45     }46     public static String getMonday() {47         return MONDAY;48     }49     public static String getTuesday() {50         return TUESDAY;51     }52     public static String getWednesday() {53         return WEDNESDAY;54     }55     public static String getThursday() {56         return THURSDAY;57     }58     public static String getFirday() {59         return FRIDAY;60     }61     public static String getSaturday() {62         return SATURDAY;63     }64 }65 public class TestConstant {66     static final String day = "saturday";67     public static void main(String[] args) {68         System.out.println("Is today Saturday?");69         System.out.println(day.equalsIgnoreCase(ConstantInterface.SATURDAY));70         System.out.println(day.equalsIgnoreCase(ConstantEnum.SATURDAY.name()));71         System.out.println(day.equalsIgnoreCase(ConstantClassField.SATURDAY));72         System.out.println(day.equalsIgnoreCase(ConstantClassFunction73                 .getSaturday()));74     }75 }

 

方法一采用接口(Interface)的中变量默认为static final的特性

方法二采用了Java 5.0中引入的Enum类型。

方法三采用了在普通类中使用static final修饰变量的方法。

方法四类似方法三,但是通过函数来获取常量。

 

首先定义全局变量似乎有违Java的面向对象的封装特性,增加的耦合。所以最佳的方法是避免定义全局变量。如果是参数等,可以写入配置文件。如果实在是必须的,方法二是最为推荐的。方法三是大家都能想到的,非常的直观。方法一和方法三本质上一样。方法四提供了灵活性,具体参考引用【1】。

本文转自SummerChill博客园博客,原文链接:http://www.cnblogs.com/DreamDrive/p/5413255.html,如需转载请自行联系原作者

你可能感兴趣的文章
《Hadoop实战第2版》——导读
查看>>
德国为新能源付出了哪些巨大的代价?
查看>>
探讨医疗人工智能之眼科AI的真实应用场景(肽积木CEO柏文洁)丨硬创公开课...
查看>>
中冶集团首度亮相智博会 探索“智慧城市的智慧地下”
查看>>
大数据认知:军事后勤变革的新引擎
查看>>
荷兰Serverius数据中心如何逆袭运营困境
查看>>
思科:6成物联网计划仍处于概念验证阶段
查看>>
物联网普及率目前第一是韩国
查看>>
远离个人信息裸奔伤害
查看>>
智慧城市如何应对洪灾?
查看>>
欧盟将在数千城镇公共区域提供免费无线网
查看>>
对原产于韩国的进口太阳能级多晶硅所适用反倾销措施进行期中复审调查
查看>>
有关大数据,看这一篇就够了!
查看>>
Orange将“鸡蛋”放入ECOMP的篮子
查看>>
大数据看AI人才分布:美国领先,中国培养潜能大
查看>>
光伏产业还值不值得继续关注?
查看>>
三星三季移动DRAM市场份额创新高,达64.5%
查看>>
智能楼宇中的安防监控系统
查看>>
中科联想身份认证云服务联合实验室在北京揭牌
查看>>
Winform 通用分页控件实战篇(提供源码下载)
查看>>