首先看示例:

/**

* Method One

*/

interface ConstantInterface {

String SUNDAY = "SUNDAY";

String MONDAY = "MONDAY";

String TUESDAY = "TUESDAY";

String WEDNESDAY = "WEDNESDAY";

String THURSDAY = "THURSDAY";

String FRIDAY = "FRIDAY";

String SATURDAY = "SATURDAY";

}

/**

* Method Two

*/

enum ConstantEnum {

SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY

}

/**

* Method Three

*/

class ConstantClassField {

public static final String SUNDAY = "SUNDAY";

public static final String MONDAY = "MONDAY";

public static final String TUESDAY = "TUESDAY";

public static final String WEDNESDAY = "WEDNESDAY";

public static final String THURSDAY = "THURSDAY";

public static final String FRIDAY = "FRIDAY";

public static final String SATURDAY = "SATURDAY";

}

/**

* Method Four

* http://www.ibm.com/developerworks/cn/java/l-java-interface/index.html

*/

class ConstantClassFunction {

private static final String SUNDAY = "SUNDAY";

private static final String MONDAY = "MONDAY";

private static final String TUESDAY = "TUESDAY";

private static final String WEDNESDAY = "WEDNESDAY";

private static final String THURSDAY = "THURSDAY";

private static final String FRIDAY = "FRIDAY";

private static final String SATURDAY = "SATURDAY";

public static String getSunday() {

return SUNDAY;

}

public static String getMonday() {

return MONDAY;

}

public static String getTuesday() {

return TUESDAY;

}

public static String getWednesday() {

return WEDNESDAY;

}

public static String getThursday() {

return THURSDAY;

}

public static String getFirday() {

return FRIDAY;

}

public static String getSaturday() {

return SATURDAY;

}

}

public class TestConstant {

static final String day = "saturday";

public static void main(String[] args) {

System.out.println("Is today Saturday?");

System.out.println(day.equalsIgnoreCase(ConstantInterface.SATURDAY));

System.out.println(day.equalsIgnoreCase(ConstantEnum.SATURDAY.name()));

System.out.println(day.equalsIgnoreCase(ConstantClassField.SATURDAY));

System.out.println(day.equalsIgnoreCase(ConstantClassFunction

.getSaturday()));

}

}

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

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

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

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

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

参考

【1】http://www.ibm.com/developerworks/cn/java/l-java-interface/index.html

JAVA提示定义常量_如何在Java中定义常量(Constant)相关推荐

  1. java中转json字符串_如何在Java中转义JSON字符串-Eclipse IDE技巧

    java中转json字符串 在Java应用程序中工作或进行JSON解析时,通常很常见的做法是从某些资源(例如RESTful Web服务)中复制粘贴JSON字符串,然后使用Jackson库解析JSON. ...

  2. java整数的因式分解_如何在Java中找到整数的质数-因式分解

    java整数的因式分解 编程课程中的常见家庭作业/任务之一是关于Prime Factorization. 要求您编写一个程序以找到给定整数的素因子 . 一个数字的素数因子是将精确地除以给定数字的所有素 ...

  3. java adt怎么使用_如何在eclipse中添加android ADT ADT插件的安装图文教程

    对于程序开发的学者来说,eclipse并不陌生,它为我们提供了一个非常广阔的平台来开发程序.同样我们也可以用它来开发android程序.但是在eclipse中并不能直接开发android程序,需要我们 ...

  4. java类只读怎么办_如何在Java中制作一个只读类?

    java类只读怎么办 The question is that "can we make a read-only class in Java?" 问题是"我们可以用Jav ...

  5. java构造方法的签名_如何在 Java 中构造对象(学习 Java 编程语言 034)

    1. 构造器 Java 对象都是在堆中构造的. 先看看 Employee 类的构造器: public class Employee { private String name; private dou ...

  6. java如何实例化集合_如何在java中实例化一个Queue对象?

    Queue是一个接口,这意味着你不能直接构造一个Queue . 最好的select是构造一个已经实现Queue接口的类,如下所示: AbstractQueue , ArrayBlockingQueue ...

  7. java 系统自动检测_如何在Java中检测OS(操作系统)名称?

    java 系统自动检测 To detect the OS (operating system) name in Java, we use the getProperties() method, whi ...

  8. java swing 列表框_如何在Swing中使用列表框?

    下面的示例展示了如何在Java Swing应用程序中使用标准列表框. 使用以下API - JList - 创建标准列表. JList.setSelectedIndex(index); - 选择项目. ...

  9. Java poi 列移动_如何在java xssf中移動列poi

    如何將現有列數據和格式化到Apache POI中的下一列並將下一列移到右側.如何在java xssf中移動列poi 我試過了. 讓說我的代碼是這樣... XSSFCell oldCell = work ...

  10. java 精确到微妙_如何在Java中以微秒精度测量时间?

    我在Internet上看到应该使用System.nanoTime(),但这对我不起作用-它为我提供了毫秒级的时间.我只需要函数执行前后的微秒,就可以知道需要多长时间.我正在使用Windows XP. ...

最新文章

  1. python打印log重复问题
  2. Git/码云上多人协作,创建分支,上传修改
  3. 二维数组最大关联子数组
  4. iOS调用系统相册、相机 显示中文标题
  5. Java里String.split需要注意的用法
  6. pandas读写各种类型数据
  7. linux右键菜单的截图,Linux: 给右键菜单加一个“转换图片为jpg格式”
  8. BetterZip使用教程分享:Mac用户如何提取压缩文件?
  9. python最适合做什么-python能做什么,适不适合新手学?
  10. iPhone企业应用实例分析之四:技术要点分析(1)
  11. 实例详解机器学习如何解决问题
  12. 牛腩新闻发布--.NET控件FreeTextBox使用方法
  13. cadence allegro 绘制蛇形等长线
  14. unity开宝箱动画_如何用PPT打造一个「开启宝箱」的动画?
  15. 苹果电脑的文件怎样拷贝入移动硬盘里
  16. 关于山东大学(青岛)的吐槽
  17. OPENCV+VS2008+SQLserver图片存储数据库开发
  18. powerbuilder操作excel命令大全
  19. 威力曲面sw2020_威力曲面插件(SolidWorks曲面设计助手)V6.1 正式版
  20. uln2003步进电机驱动程序

热门文章

  1. VR 游戏开发资料收集
  2. Web开发的未来:React、Falcor和ES6
  3. C++ 资源大全整理
  4. Matrix67:漫话中文分词算法
  5. 机器学习--详解基于梯度下降的Logistic回归算法原理
  6. Jsp基本page指令、注释、方法声明,书写规范及注意事项
  7. python用三种方式定义字符串、并依次输出_Python 字符串格式化输出的3种方式
  8. mysql 编辑 条目,mysql函数:将旧条目旋转到归档表
  9. mysql questions_sql_mysql
  10. python 短视频_短视频篇 | Python 带你进行短视频二次创作