JAVA開発で静的初期化ブロックを操作する方法

无忌哥哥
リリース: 2018-07-20 10:18:57
オリジナル
1478 人が閲覧しました

静的に変更された初期化ブロックを静的初期化ブロックと呼びます。

特別な注意を払う必要があります: 静的初期化ブロックはクラスがロードされるときにのみ実行され、一度だけ実行されます。同時に、静的初期化ブロックは静的変数に値を代入することしかできません。通常のメンバー変数を初期化できません

コードを見る:

public class HelloWorld {
    
    String name; // 声明变量name
	String sex; // 声明变量sex
	static int age;// 声明静态变量age
    
    // 构造方法
	public  HelloWorld      () { 
		System.out.println("通过构造方法初始化name");
		name = "tom";
	}
    
    // 初始化块
	{ 
		System.out.println("通过初始化块初始化sex");
		sex = "男";
	}
    
    // 静态初始化块
	  static      { 
		System.out.println("通过静态初始化块初始化age");
		age = 20;
	}
    
	public void show() {
		System.out.println("姓名:" + name + ",性别:" + sex + ",年龄:" + age);
	}
    
	public static void main(String[] args) {
        
        // 创建对象
		HelloWorld hello = new HelloWorld();
		// 调用对象的show方法
        hello.show();
        
	}
}
ログイン後にコピー

実行結果:

通过静态初始化块初始化age
通过初始化块初始化sex
通过构造方法初始化name
姓名:tom,性别:男,年龄:20
ログイン後にコピー

クラスのロード時に静的初期化ブロックが実行されるため、静的初期化ブロックの出力内容が最初に出力されます。次に、通常の初期化ブロックが実行され、最後にコンストラクター メソッドが実行されます。 静的初期化ブロックはクラスがロードされるときにのみ実行され、一度だけ実行されるため、オブジェクト hello2 が再度作成されるときは静的初期化ブロックは実行されません。

以上がJAVA開発で静的初期化ブロックを操作する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート