当类实现接口时,接口就充当可以引用这个类的实例类型。因此,类实现了接口,就表明客户端对这个类的实例可以实施某些动作。为了任何其他目的而定义的接口是不恰当的。
常量接口就是一种错误的用法
public class PhysicalConstants {
private PhysicalConstants() {}
public static final double AVOGADROS_NUMBER = 6.23156412e23;
public static final double BOLTZMANN_CONSTANT = 1.12588456e-23;
...
}
对于常量的管理,合理的做法是:
(1)如果常量与现有类或者接口关系紧密就将常量添加到类或接口中
(2)如果常量可以被看做枚举类型,就是用枚举类型来表示。
(3)使用工具类来保存这些常量
public class PhysicalConstants {
private PhysicalConstants() { } // Prevents instantiation
// Avogadro's number (1/mol)
public static final double AVOGADROS_NUMBER = 6.02214199e23;
// Boltzmann constant (J/K)
public static final double BOLTZMANN_CONSTANT = 1.3806503e-23;
// Mass of the electron (kg)
public static final double ELECTRON_MASS = 9.10938188e-31;
}