No.3ベストアンサー
- 回答日時:
定数は、以下の3パターンになると思います。
(1)クラスAと関連が強く、かつ他のオブジェクトにも公開してよい場合
クラスAのフィールドとして、
public static final String FILE_NAME = "hoge.csv";
(2)クラスAと関連が強く、かつ他のオブジェクトには公開したくない場合
クラスAのフィールドとして、
private static final String FILE_NAME = "hoge.csv";
(3)パッケージ共通で使う「設定系の定数」
変数をまとめたクラスを作り、そこに下記を入れ込む。
public static final String FILE_NAME = "hoge.csv";
(このときコンストラクタを private にしておけば無駄に new されることもありません)
あるいは、XML等の設定ファイルを設け、それをロードするクラスを作る。
Struts や EJB もそうですが、最近は設定系の定数はXML等に外出しにしておく傾向が強いです。そうしておくと、ユーザや開発者が動的に設定を変えることができるからです。
static final なフィールドを設けたときの注意点としては、
・コンパイル時にインライン展開される(クラスファイルにベタで書かれる)可能性が高いので、変数内容変更時は
参照している全クラスを再コンパイルする必要があるかもしれない。
・static final なフィールドはサブクラスでオーバライドできる。
以上、注意してください。また、
>JSPなどの場合、 HTMLで、色とか、サイズとかの指定を
>簡単に全体でできるといいなぁとおもったんですが。
これは、通常スタイルシートで設定します。
ご回答ありがとうございます。
#完全にとじるのわすれてました(笑)
まあやっぱり設定ファイル(XML)を外に
持つのが普通ってことですね。
>これは、通常スタイルシートで設定します。
ごもっともです。
No.2
- 回答日時:
定数だけのためにプレースホルダとしてクラスやインタフェースを定義するのはあまりよろしくありません。
(とは言っても、実際には使われていますが)一般的には、その定数が最も深く関わりのあるクラスに、static かつ final (かつ普通は public) なフィールドとして定義します。
例えば、ファイル名を定数としておきたい場合は、ファイルの入出力を行うクラスのフィールドとして定義します。
ご回答ありがとうございます。
そうなんですよね...
ただ、たとえば、
JSPなどの場合、
HTMLで、色とか、サイズとかの指定を
簡単に全体でできるといいなぁとおもったんですが。
でも、スーパークラスで指定しておけばいいのか...
とかもおもいつつ。
普通どうなんだろ?とおもったしだいです。
ありがとうございました。
No.1
- 回答日時:
メンバとしてfinalで定義してやるのが一般的では?
public class myclass{
final double PI = 3.141592;
final String myname = "Jack";
・
・
・
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- Visual Basic(VBA) VBAで特定の場所にあるCSVファイル(複数)から特定場所を抜き出してExcelに転記したいです。 11 2023/05/23 16:29
- Visual Basic(VBA) VBA初心者です 検索した数字の行に色をつける 5 2023/02/13 14:22
- HTML・CSS HTMLタグのあるCSVファイルを利用する方法 4 2023/03/19 14:41
- Access(アクセス) CSVファイルの「0落ち」にVBA 6 2023/02/02 15:27
- Visual Basic(VBA) 顧客ごとに違う点検案内を作成するマクロ 4 2022/09/16 05:34
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- その他(Microsoft Office) Microsoft365で写真をアルバム管理・共有する方法。 1 2023/04/30 08:40
- Java java 次の機能を有するメソッドを自クラスに作成し、実装したいです。 機能 名前判定機能 →名前が 3 2022/06/16 16:08
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
java eclipse 型に解決できません
-
どこからも呼ばれていない無意...
-
グローバルIPとプライベートIP...
-
同一パッケージにあるクラスが...
-
同じクラスにならない確率を教...
-
VB.NETでの和暦表示
-
1 つのヘッダファイルに複数の...
-
EclipseでJSPのコンパイルエラー
-
同じパッケージ、クラス名が含...
-
クラス名の「~Factory」って何?
-
main()を持つクラスが2つ以上...
-
UMLのクラス図はmain()も含むん...
-
javaのコンパイルができません...
-
Java「デフォルトのパッケージ...
-
VBAもしくはVB6:クラスの中で...
-
tomcat上でのpropertiesファイ...
-
Accessの結合クエリフィールド...
-
dllと同じプロジェクトにする方法
-
「自作クラスの型」にキャスト...
-
定数はどこでまとめますか?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
配列の重複する値とその個数を...
-
「天声人語」をインターネット...
-
java eclipse 型に解決できません
-
グローバルIPとプライベートIP...
-
ポータブル電源を買おうと思う...
-
容姿について
-
自作のクラスファイルがインポ...
-
どこからも呼ばれていない無意...
-
UMLのクラス図はmain()も含むん...
-
同一パッケージにあるクラスが...
-
main()を持つクラスが2つ以上...
-
1 つのヘッダファイルに複数の...
-
アルキメデスの大戦の櫂はなぜ2...
-
dllと同じプロジェクトにする方法
-
IPアドレスの3バイト目の呼び方
-
3年間同じクラスになる確率
-
重複エラーを解決するには
-
同じパッケージ、クラス名が含...
-
コンボボックスのマウスホイー...
-
同じクラスにならない確率を教...
おすすめ情報