[解決済み] Javaにおけるprivate static variableの用途は何ですか?
2022-04-21 16:43:45
質問
という変数が宣言されている場合
public static varName;
というように、どこからでもアクセスできるようになります。
ClassName.varName
. また、静的メンバはクラスのすべてのインスタンスで共有され、各インスタンスで再割り当てされることはないことも承知しています。
として変数を宣言していますか?
private static varName;
を宣言するのと同じです。
private varName;
?
としてアクセスすることはできません。
ClassName.varName
または
ClassInstance.varName
を他のクラスから呼び出すことができます。
staticと宣言することで、その変数に他の特別な性質を与えることができますか?
どのように解決するのですか?
としてアクセスすることはもちろん可能です。
ClassName.var_name
しかし、このクラスが定義されているクラスの内部からのみ、このクラスが定義されているからです。
private
.
public static
または
private static
変数は、しばしば定数のために使用されます。例えば、多くの人は定数をハードコードすることを好みません。
public static
または
private static
という変数に意味のある名前をつけて、それを自分のコードで使うことで、より読みやすいコードになるはずです。(また、このような定数は
final
).
例えば
public class Example {
private final static String JDBC_URL = "jdbc:mysql://localhost/shopdb";
private final static String JDBC_USERNAME = "username";
private final static String JDBC_PASSWORD = "password";
public static void main(String[] args) {
Connection conn = DriverManager.getConnection(JDBC_URL,
JDBC_USERNAME, JDBC_PASSWORD);
// ...
}
}
作るかどうか
public
または
private
は、変数をクラスの外から見えるようにするかどうかで決まります。
関連
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] JavaでArrayListではなくLinkedListを使用するのはいつですか?
-
[解決済み] serialVersionUIDとは何ですか、またなぜそれを使用する必要がありますか?
-
[解決済み] JavaScriptの変数のスコープとは何ですか?
-
[解決済み] Java内部クラスと静的ネストされたクラス
-
[解決済み] C言語における「static」の意味とは?
-
[解決済み] パブリック、プライベート、プロテクトの違いは何ですか?
-
[解決済み] Pythonにはクラス内に「プライベート」変数がある?
-
[解決済み】KotlinでJavaの静的メソッドに相当するものは何ですか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
ファインバグタイプ
-
をインスタンス化することができません。
-
プロローグでのコンテンツは禁止されています
-
java Mail send email smtp is not authenticated by TLS encryption solution.
-
プロジェクトの依存関係を解決できなかった 解決
-
Javaエラーメッセージがenclosingクラスでない
-
Eclipse起動エラー:javaは起動したが、終了コード=1を返した(ネット上の様々な落とし穴)
-
スレッド "main" で例外発生 java.net.BindException: アドレスは既に使用中です。NET_Bind
-
SocketTimeoutExceptionの解決方法です。読み込みがタイムアウトした
-
java -serverコマンドで「Error: no `server' JVM at ... jvm.dll」を解決する方法です。