java中常量的设置(Constant)

原创 2015年11月20日 12:53:52

第一种:接口方式

public interface WeekInterface {

    String SUNDAY = "SUNDAY";
    String MONDAY = "MONDAY";
    String TUESDAY = "TUESDAY";
    String WEDNESDAY = "WEDNESDAY";
    String THURSDAY = "THURSDAY";
    String FRIDAY = "FRIDAY";
    String SATURDAY = "SATURDAY";

}
接口的参数,默认是public static final类型的,使用方式 weekInferface.SUNDAY


第二种:定义public final型的静态变量 public static final

public class Weeks {

    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";
    
}


第三种:定义private final静态变量,使用get 方法调用

public class WeeksConstant {

    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 getSATURDAY() {
        return SATURDAY;
    }

    public static String getFRIDAY() {
        return FRIDAY;
    }

    public static String getTHURSDAY() {
        return THURSDAY;
    }

    public static String getWEDNESDAY() {
        return WEDNESDAY;
    }

    public static String getTUESDAY() {
        return TUESDAY;
    }

    public static String getMONDAY() {
        return MONDAY;
    }
}

第四种:使用enum类型的类

enum WeekEnum {  
    SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY  
}  

第五种:实用配置文件,在 .properties 中配置一些配置型参数


第一种使用接口,接口的参数类型默认是static final型的,就可以通过接口直接调用,看似确实是个不错的方法。但我们该想想接口的使用场景,通常是为了定义一组行为,为接口的实现类定义行为约束,如果我们确定定义的参数不可改变,可以添加参数,但不能把接口作为我们定义静态常量的工具。所以不推荐单独拿来定义常量。

第二种直接定义public static final 直观明了,是大多数人能很快想到的,估计也是大多数人正在用的。

第二种可以通过构造方法进行改造,把每一个类作为静态变量,类中的提供不止一个参数。举例如下:

public class ResultCode {

    public String code;
    public String message;

    private ResultCode(String code,String message){
        this.code = code;
        this.message = message;
    }

    public static final ResultCode SUCCESS = new ResultCode("S00000", "成功");
    public static final ResultCode SYSTEM_ERROR = new ResultCode("E00001","系统错误");

}


第三种方法和第二种类似,只是通过方法取值。

第四种方法,使用枚举类型,适用于一类的固定结果的,通常是数据库的某个字段对应的几个具体结果。下拉框选项通常用枚举类实现,极力推荐这种方式。枚举也可以通过构造方法实现类似上面的多个参数。更多关于枚举的使用参考另一篇博客

第五红,说的更准确些应该叫配置信息,比如数据库的配置信息、数据库连接池等各种配置信息,用properties文件更易于理解。


以上是本人对于java中静态常量的理解,希望读者能给出好的意见、补充。






相关文章推荐

如何在Java中定义常量(Constant)

这里列举4种方法,各有千秋,要看具体的应用场合了。
  • autofei
  • autofei
  • 2011年05月14日 12:07
  • 117663

如何在Java中定义常量(Constant)

原文地址:http://blog.csdn.net/autofei/article/details/6419460 首先看示例: [java] view plainco...

Java中定义常量(Constant) 的几种方法

/** * Method One */ interface ConstantInterface { String SUNDAY = "SUNDA...

Java动态给类中配置常量赋值的三种方法

public class Configuration { public static final String CONFIG = "你想要指定的一些配置项"; } 当我们需要给Confi...

如何在Java中定义常量(Constant)

/** * Method One */ interface ConstantInterface { String SUNDAY = "SUNDAY"; String MONDAY = "MON...

Java基本类型和常量讲解

基本类型或者叫做内置类型,是JAVA中不同于类的特殊类型。它们是我们编程中使用最频繁的类型。Java是一种强类型语言,第一次申明变量必须说明数据类型,而且变量在使用之前必须进行初始化。 1. J...

java-常量和变量

Java常量在Java中用final标志,声明方式和变量类似:final double PI = 3.1415927;Java变量在Java语言中,所有的变量在使用前必须声明。声明变量的基本格式如下:...

JAVA常量

常量是一种标识符,它的值在运行期间恒定不变。并且常量在程序中只能被引用,而不能被重新赋值。Code: public class Math    {                  ...

java 基本类型和常量讲解

基本类型或者叫做内置类型,是JAVA中不同于类的特殊类型。它们是我们编程中使用最频繁的类型。Java是一种强类型语言,第一次申明变量必须说明数据类型,而且变量在使用之前必须进行初始化。1. Java的...

创建java常量类

首先看示例: [java] view plaincopyprint? /**  * Method One  */  interface ConstantInterface ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java中常量的设置(Constant)
举报原因:
原因补充:

(最多只允许输入30个字)