静的コード ブロック
static
プロパティ、メソッド、内部クラス、およびコード ブロックを変更できます。
静的コード ブロックは、クラスのロード時に呼び出され、1 回だけ実行され、さまざまなコード ブロックやコンストラクターよりも優先されます。
静的コードが 1 か所で使用されている場合、すべての静的コード ブロックが呼び出されます。
推奨される関連ビデオ チュートリアル: java 無料ビデオ チュートリアル
例は次のとおりです:
親クラス
public class Human { static { System.out.println("2.父类中的静态代码块"); } public String name; public Human() { System.out.println("1.父类中的构造方法"); } public static void test() { System.out.println("6.父类中的静态方法"); } }
サブクラス
public class Man extends Human { static { System.out.println("4.子类中的静态代码块"); } public Man() { System.out.println("3.子类中的构造方法"); } public static void doo() { System.out.println("5.子类中的静态方法"); } }
Main class
public class Main { public static void main(String[] args) { // Human human = new Man(); 输出2 4 1 3 //父类的类名调用父类的方法 //Human.test(); //输出2 6 在调用静态代码时,怕需要上面的静态代码块的内容,所以将其链接到内存 与子类无关 //子类的类名调用子类的方法 //Man.doo(); // 输出2 4 5 在调用子类的静态方法时,父类的静态代码块执行,与父类的静态代码块有关 //子类的类名调用父类的方法 //Man.test(); // 输出 2 6 注意这个能调test不是因为继承,test声明在了human里,子类可以调用父类的方法, //但是父类不能调用子类的方法 所以在Main中不可直达Man中的的方法 //子类调用了父类的方法,在父类的方法里又引用了子类里的静态方法 //Man.test(); 输出 2 6 4 5 } }
静的コード ブロックのコンテンツが最初に実行され (ただし 1 回のみ)、次に親クラスのコンストラクターが実行され、次にサブクラスのコンストラクターが実行されます。
この記事は Java 入門プログラム のコラムから抜粋したものです。コミュニケーションをとり、一緒に学びましょう!
以上がJava 詳細学習の静的静的コード ブロックの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。