次のコードを実行して結果を観察します:
package com.test; public class HelloB extends HelloA { public HelloB() { } { System.out.println("I'm B class"); } static { System.out.println("static B"); } public static void main(String[] args) { new HelloB(); } } class HelloA { public HelloA() { } { System.out.println("I'm A class"); } static { System.out.println("static A"); } }
結果は次のとおりです:
static A static B I'm A class I'm B class
分析:
1. 静的コード ブロック: クラス読み込みの 3 番目のステップの初期化中に実行されます。プロセスの主な目的は、クラス変数に初期値を割り当てることです。
2. 構築コード ブロック: 独立しており、実行するにはキャリアに接続する必要があります。Java は、いくつかの共通のインスタンス変数をインスタンス化し、コードの量を減らすために各構築メソッドの前に構築コード ブロックを配置します。
3. コンストラクター メソッド: 変数をインスタンス化するために使用されます。
概要:
1はクラスレベルにあり、2と3はインスタンスレベルにあるため、1は2と3よりも優先される必要があります。
それらの実行順序は1>2>3です。
上記はこの java 静的コード ブロック、構築コード ブロック、および構築方法の詳細な説明は、すべて編集者が共有する内容です。参考にしていただければ幸いです。PHP 中国語 Web サイトをサポートしていただければ幸いです。
Java の静的コード ブロック、構築コード ブロック、および構築方法の詳細な説明については、PHP 中国語 Web サイトに注目してください。