static初期化子
日本語 | 静的初期化子 |
英語 | static initializer |
ふりがな | すたてぃっくしょきかし |
フリガナ | スタティックショキカシ |
クラスが使用された時にまず真っ先に呼び出されるメソッド。
「静的初期化子」「staticブロック」「static初期化ブロック」とも言われる。
「メソッド名のないstaticメソッド」。
「static{ 実装 }」のように、戻り値の型もメソッド名も引数もないstaticメソッドは、クラスが使用された時に実行される。
明確に呼び出す必要はなく、また、呼び出すこともできない。何らかの形でそのクラスを使用しようとした時に、自動的に呼び出される。
この機能により「そのクラスのどんなメソッドよりも先に呼び出される」ため、「staticメソッド版コンストラクタ」のように機能し、staticフィールドの初期化処理に使用される。
「静的初期化子」「staticブロック」「static初期化ブロック」とも言われる。
「メソッド名のないstaticメソッド」。
「static{ 実装 }」のように、戻り値の型もメソッド名も引数もないstaticメソッドは、クラスが使用された時に実行される。
明確に呼び出す必要はなく、また、呼び出すこともできない。何らかの形でそのクラスを使用しようとした時に、自動的に呼び出される。
この機能により「そのクラスのどんなメソッドよりも先に呼び出される」ため、「staticメソッド版コンストラクタ」のように機能し、staticフィールドの初期化処理に使用される。
参考サイト
- (参考サイトはありません)
// Sample.java
public class Sample
{
/**
* static初期化子。
* クラスが読み込まれるのと同時に呼び出されるstaticメソッドです。
*/
static
{
System.out.println( "Sample#static" );
}
// staticメソッド。
public static void main( String[] args )
{
System.out.println( "Sample#main()" );
// Sample#static
// Sample#main()
// このように、static初期化子の方が先に呼ばれます。
}
}
public class Sample
{
/**
* static初期化子。
* クラスが読み込まれるのと同時に呼び出されるstaticメソッドです。
*/
static
{
System.out.println( "Sample#static" );
}
// staticメソッド。
public static void main( String[] args )
{
System.out.println( "Sample#main()" );
// Sample#static
// Sample#main()
// このように、static初期化子の方が先に呼ばれます。
}
}
// Sample.java public class Sample { /** * static初期化子。 * クラスが読み込まれるのと同時に呼び出されるstaticメソッドです。 */ static { System.out.println( "Sample#static" ); } // staticメソッド。 public static void main( String[] args ) { System.out.println( "Sample#main()" ); // Sample#static // Sample#main() // このように、static初期化子の方が先に呼ばれます。 } }