java常量定义有哪些方法?如何实现?

2020-04-27 22:08:15 java常见问答 9580

只要是懂java开发的小伙伴,相信你们对java中的常量应该不会陌生吧,没错,今天呢小编就会带着感兴趣的朋友一起来看看,java中常量定义都有哪些方法呢?我们怎么去实现呢?

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

interface ConstantInterface
{
    String SUNDAY = "SUNDAY";
    String MONDAY = "MONDAY";
    String TUESDAY = "TUESDAY";
    String WEDNESDAY = "WEDNESDAY";
    String THURSDAY = "THURSDAY";
    String FRIDAY = "FRIDAY";
    String SATURDAY = "SATURDAY";
}

方法二,采用了java5.0中引入了Enum类型:

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

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

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

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

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()));
    }
}

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

那么以上就是java常量定义的所有内容了,还想了解更多java入门知识,记得多多关注本站消息哦。