定数のみを持つJavaファイルを宣言するためのベストプラクティスは何ですか?
public interface DeclareConstants
{
String constant = "Test";
}
また
public abstract class DeclareConstants
{
public static final String constant = "Test";
}
どちらでもない。それらをfinal class for Constants
として宣言し、public static final
必要に応じてすべての定数を静的にインポートします。
public final class Constants {
private Constants() {
// restrict instantiation
}
public static final double PI = 3.14159;
public static final double PLANCK_CONSTANT = 6.62606896e-34;
}
使用法 :
import static Constants.PLANCK_CONSTANT;
import static Constants.PI;//import static Constants.*;
public class Calculations {
public double getReducedPlanckConstant() {
return PLANCK_CONSTANT / (2 * PI);
}
}
wikiリンクを参照してください:http://en.wikipedia.org/wiki/Constant_interface
-フィールドを持つ を作成Class
します。public static final
-そして、 を使用して、どのクラスからでもこれらのフィールドにアクセスできますClass_Name.Field_Name
。
-class
を as として宣言できるfinal
ため、 をclass
拡張 (継承) および変更することはできません....
どちらも有効ですが、私は通常インターフェースを選択します。実装がない場合、クラス (abstract または not) は必要ありません。
アドバイスとして、定数の場所を賢く選択してみてください。定数は外部契約の一部です。1 つのファイルにすべての定数を入れないでください。
たとえば、定数のグループが 1 つのクラスでのみ使用される場合、または 1 つのメソッドがそれらをそのクラス、拡張クラス、または実装されたインターフェイスに配置する場合。注意しないと、依存関係が大きく混乱する可能性があります。
列挙型が定数 (Java 5) の代わりになる場合があります。http: //docs.oracle.com/javase/1.5.0/docs/guide/language/enums.htmlをご覧ください