コードブロックは、4つのカテゴリに分類されます
- 共通のコードブロック
- ビルディングブロック
- 静的コードブロック
- シンクブロック(マルチスレッド)
1.通常のブロック
{}のコードセグメントである共通周ブロックの方法で
2.ビルディングブロック
public class T2 {
{
System.out.println("First construction block");
}
public T2 () {
System.out.println("Official Construction function");
}
{
System.out.println("Second construction block");
}
public final static void main(String[] args) {
T2 t = new T2();
}
}
結果:
分析:
ビルディングブロックは、クラスプラスで定義されていない静的修飾{} スニペット
クラスのインスタンスは、コンストラクタの前にシーケンスのビルディングブロックを呼び出し、各インスタンス化は、いわゆるビルディングブロックを起動され、順序に依存しないコードは、上記サンプルコードから分かります
3.静的ブロック
public class T2 {
{
System.out.println("First construction block");
}
public T2 () {
System.out.println("Official Construction function");
}
{
System.out.println("Second construction block");
}
static {
System.out.println("Static constuction block 1");
}
static {
System.out.println("Static construction block 2");
}
public final static void main(String[] args) {
T2 t = new T2();
{
System.out.println("This is an average block");
}
}
}
結果:
分析:
あなたは、静的コードブロックは、メイン関数の前に実行され、インスタンス化された回数に関係なく、静的コードブロックを一度に実行されます見ることができます
、の要約使用静的ブロック静的改変は、{} 、静的クラス・コード・ブロックを初期化するために使用され、任意の方法が、非静的メソッドと変数にアクセスすることができないコードの静的ブロックは、静的コードブロックのみで静的メソッドのように、本体内に配置することができません一度実行され、実行の順序は、最初の実装を定義する(複数のブロックは、静的コード)定義された順序で決定されます。
4.シンクブロック
サプリメントの後