[解決済み] Javaで定数を宣言するには?
2022-03-04 03:12:38
質問
いつも書いています。
public static final int A = 0;
質問です。
-
は
static final
を宣言する唯一の方法です。 定数 をクラスで使うのですか? -
と書くと
public final int A = 0;
はA
はやはり 定数 または単なる インスタンスフィールド ? - とは何ですか? インスタンス変数 ? との違いは何ですか? インスタンス変数 と インスタンスフィールド ?
解決方法は?
-
を使用することができます。
enum
型は、Java 5 以降では、ご指摘の目的に使用できます。型安全です。 - Aはインスタンス変数です。(static修飾子がついている場合はstatic変数になります)定数は値が変わらないという意味だけです。
- インスタンス変数は、クラスではなくオブジェクトに属するデータメンバです。インスタンス変数=インスタンスフィールドです。
インスタンス変数とクラス変数の違いということであれば、インスタンス変数はオブジェクトを作成するごとに存在します。一方、クラス変数は、作成されたオブジェクトの数にかかわらず、クラスローダーごとに1つだけコピーされます。
Java 5 以上
enum
タイプ
public enum Color{
RED("Red"), GREEN("Green");
private Color(String color){
this.color = color;
}
private String color;
public String getColor(){
return this.color;
}
public String toString(){
return this.color;
}
}
作成したenumの値を変更したい場合は、mutatorメソッドを用意します。
public enum Color{
RED("Red"), GREEN("Green");
private Color(String color){
this.color = color;
}
private String color;
public String getColor(){
return this.color;
}
public void setColor(String color){
this.color = color;
}
public String toString(){
return this.color;
}
}
アクセスする例です。
public static void main(String args[]){
System.out.println(Color.RED.getColor());
// or
System.out.println(Color.GREEN);
}
関連
-
[解決済み] Java enumのメンバーを比較する:==またはequals()?
-
[解決済み] java.sql.SQLException: ORA-00933: SQL コマンドが正しく終了していません。
-
[解決済み] スリーピング中のスレッドが割り込まれ、データベースへの接続が失われる
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] serialVersionUIDとは何ですか、またなぜそれを使用する必要がありますか?
-
[解決済み] Javaで配列を宣言し、初期化する方法は?
-
[解決済み] Java内部クラスと静的ネストされたクラス
-
[解決済み] なぜゲッターとセッター/アクセッサーを使うのですか?
-
[解決済み] java.lang.UnsupportedClassVersionError を修正する方法。サポートされていないメジャー.マイナーバージョン
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] enumのordinalを使用するのは良い習慣ですか?
-
[解決済み] パラメータ[変数]の不正な修飾子;finalのみが許可される[closed]。
-
[解決済み] なぜJPAには@Transientアノテーションがあるのですか?
-
[解決済み] java.lang.ClassCastException: java.util.Arrays$ArrayList は java.util.ArrayList にキャストできません。
-
[解決済み] 一部の入力ファイルが非推奨のAPIを使用またはオーバーライドしている
-
[解決済み] javac ソースファイルが見つかりません
-
[解決済み] Javaにおけるシンボリック参照
-
[解決済み] どのように配列の10未満の値(x * 2)を倍増するコードを取得するには?(Java)
-
[解決済み] アニメーションGIFの表示
-
[解決済み] Javaで定数を実装するのに最適な方法は何ですか?[クローズド]