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

本文共 2735 字,大约阅读时间需要 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】。

参考

 

转载地址:http://ywxna.baihongyu.com/

你可能感兴趣的文章
安装php:configure: error: libpng.(a|so) not found解决办法
查看>>
公众号和微信个人号 加粉最全的方法
查看>>
lvs、haproxy、nginx 负载均衡的比较分析
查看>>
Git使用详细教程
查看>>
Flash反编译软件(Action Script Viewer)ASV2012/05.16发布
查看>>
Java基础学习总结(11)——重载与重写
查看>>
Linux实用工具
查看>>
以太网类型汇总
查看>>
什么是Floating (浮动)规则?
查看>>
交换机端口设置为镜像导致网络不通
查看>>
Linux高负载下优化MYSQL
查看>>
Binder服务-底层驱动
查看>>
国内外一些ip反查域名的网站
查看>>
迪普防毒墙产品线
查看>>
sublime Text技巧
查看>>
mysql配置参数详解
查看>>
百万级SQL查询优化
查看>>
linux SWAP 分区建立及释放内存
查看>>
Rocks 头结点更改public IP 上网IP地址
查看>>
phpcmsv9 调用多个栏目下文章的两个办法
查看>>