JAVA初心者です、宜しくお願いします。
Staticについて質問します。
ある本には、「static変数の初期化方法は、変数の初期化と同じステートメントで実行する方法と、JVMによってクラスがロードされるときに実行される特別なコードブロックを作成して変数を初期化する方法があります」とかかれていました。
・ 「変数の初期化と同じステートメントで実行する方法」と「クラスがロードされ
るときに初期化する方法」とは、どのように違うのでしょうか。
クラスがロードされる時とはどのような時なのでしょうか。
・ 「変数の初期化と同じステートメントで実行する方法」については通常の方法な
ので理解できるのですが、「クラスがロードされるときに初期化する方法」を行う
と、どのようなメリットがあるのでしょうか。
何故このような方法があるのでしょうか。
以上、宜しくお願いします。
No.2ベストアンサー
- 回答日時:
> 「変数の初期化と同じステートメントで実行する方法」と「クラスがロードされるときに初期化する方法」とは、どのように違うのでしょうか。
下の二つのような単純な例であれば、javacでコンパイルした結果は全く同じです。どちらで書くかは好みの問題。
public class A {
public static int x=1;
}
public class A {
public static int x;
static { x=1; }
}
下の書き方だと、変数の初期化以外のコード(途中でprintln()するとか、条件によって分岐するとか)を混ぜて書くことができます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA ステータスバー DoEvents 1 2023/03/30 12:22
- ノートパソコン 初期化する方法を教えて欲しい。 2 2023/01/06 14:49
- Visual Basic(VBA) visual basic初心者です。 visual studioで電卓を作成しています。 実行時にテ 1 2023/02/08 00:18
- デスクトップパソコン 40年間の悩み キーボードにおいて初期値として漢字ローマ字変換に設定する方法 8 2023/05/08 14:50
- iCloud iPhoneのメールの引き継ぎの仕方について 1 2022/03/30 15:10
- Java java 飾子を付けること(public static・・・) ・コンソールへの出力処理はmainメ 2 2022/06/16 19:34
- Windows 10 Windows11 を初期状態に戻す方法について。 2 2022/11/21 20:09
- その他(プログラミング・Web制作) このプログラミングをどう組みますか? Googlecolabでやってるんですが、出来る方お願いします 1 2022/07/13 10:52
- Visual Basic(VBA) vba 等間隔の列に対しての計算 6 2022/05/17 20:15
- iPhone(アイフォーン) iPhoneに詳しい方に質問です! Appleのパスワードを忘れてしまって強制初期化をしたいのですが 1 2023/01/31 22:09
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
関数内の変数に<summary>コメン...
-
クラス間でのデータ参照
-
範囲外の数値を代入したらエラ...
-
C#でほかのファイルにある自作...
-
visual studioのデザイナ画面で...
-
C# インターフェイスの実装
-
JSPでbeanプロパティ(配列)を...
-
親クラスから子クラスへアクセス。
-
c++,ある関数のクラスから別の...
-
java-別クラスの変数の使い方を...
-
C++でfriendクラスにしているの...
-
親クラスから呼ぶ
-
構造 他のクラスの構造体を別...
-
Java リフレクションについて
-
C#のクラスライブラリでメッセ...
-
javaでメインクラスが見つから...
-
ひとつのファイルにクラスは1つ?
-
アップキャスト、ダウンキャス...
-
explicitの定義は?
-
Javaでのジェネリクス型パラメ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
関数内の変数に<summary>コメン...
-
C#にて別クラスの関数を使いたい
-
c++,ある関数のクラスから別の...
-
親クラスから子クラスへアクセス。
-
C#でほかのファイルにある自作...
-
クラス間でのデータ参照
-
構造 他のクラスの構造体を別...
-
範囲外の数値を代入したらエラ...
-
ひとつのファイルにクラスは1つ?
-
C++でfriendクラスにしているの...
-
Java リフレクションについて
-
継承したクラス側のクラス名の取得
-
C# インターフェイスの実装
-
java-別クラスの変数の使い方を...
-
C#のクラスライブラリでメッセ...
-
visual studioのデザイナ画面で...
-
C# log4netの使い方
-
a href="..." とServlet
-
アップキャスト、ダウンキャス...
-
オブジェクトのデータをもとにX...
おすすめ情報