Java的常量定义

在Java中,有三种方法可以统一管理常量。
你知道除了属性之外,应该用哪一种来实现呢?
1. 常量接口
2. 常量类
3. 枚举类

请使用enum。虽然听说过在接口中定义,但从未见过。

以下是一个实现了常量接口的示例(摘自《Effective Java 第2版》第19条)。
public interface PhysicalConstants {
    // アボガドロ定数(1/mol)
    static final double AVOGADROS_NUMBER = 6.02214199e23;
    // ボルツマン定数(J/K)
    static final double BOLTZMANN_CONSTANT = 1.3806503e-23;
    // 電子の質量(kg)
    static final double ELECTRON_MASS = 9.10938188e-31;
}
    implementして利用する。

从没见过。。如果增加了常量接口,就需要实现所需数量的接口?
可能会发生重名的情况。。耦合度很高。不是正确的接口使用方法。

以实现定数类为例
public final class Constants {
    public static final String PATH_SEP = "/";
    public static final String LINE_SEP = "¥n";
    private Constants (){}
}
    • finalにして継承不可。

 

    privateコンストラクタでインスタンス不可。

如果一开始创建的人将类名命名为Constants之类的话,就会导致其变得庞大。
大致上都是这样的。

以枚举(enum)类实现的例子
public enum ExamEnum {
    SUNDAY(0),
    MONDAY(1),
    TUESDAY(3),
    WEDNESDAY(4),
    THURSDAY(5),
    FRIDAY(6),
    SATURDAY(7);
}

    • シングルトン強制

 

    • 型安全にできる

 

    • enumクラスで用意されたメソッド使って色々

 

    順番も保持

以前,在某个地方听到「常量类(笑)」这个词,开始使用了起来。与其他方法相比,除了实施代码量外没有其他缺点,所以一直在使用。而且,一旦写好了代码,基本上可以通过复制粘贴实现一些基本操作。因为在网上可以找到很多好用的方法,所以在这里不再赘述。

bannerAds