Maison  >  Article  >  Java  >  Comment utiliser les blocs d'initialisation statiques dans le développement JAVA

Comment utiliser les blocs d'initialisation statiques dans le développement JAVA

无忌哥哥
无忌哥哥original
2018-07-20 10:18:571414parcourir

Le bloc d'initialisation modifié avec static est appelé bloc d'initialisation statique.

Une attention particulière doit être portée : Le bloc d'initialisation statique n'est exécuté que lorsque la classe est chargée, et ne sera exécuté qu'une seule fois. En même temps, le bloc d'initialisation statique ne peut être exécuté qu'une seule fois. attribuer des valeurs aux variables statiques et ne peut pas initialiser les variables membres ordinaires.

Regardez un morceau de code :

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();
        
	}
}

Résultat d'exécution :

通过静态初始化块初始化age
通过初始化块初始化sex
通过构造方法初始化name
姓名:tom,性别:男,年龄:20

Étant donné que le bloc d'initialisation statique est exécuté lorsque la classe est chargée, l'initialisation statique est sorti en premier Le contenu de sortie dans le bloc. Ensuite, le bloc d'initialisation normal est exécuté et enfin la méthode constructeur est exécutée. Puisque le bloc d'initialisation statique n'est exécuté que lorsque la classe est chargée et exécuté une seule fois , le bloc d'initialisation statique ne sera pas exécuté lorsque l'objet hello2 sera à nouveau créé.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn