Maison  >  Article  >  Java  >  Trois cas, interprétation des blocs de code statiques et des blocs de code construits

Trois cas, interprétation des blocs de code statiques et des blocs de code construits

巴扎黑
巴扎黑original
2017-06-26 09:30:081545parcourir

1. Un bref résumé des blocs de code statiques et des blocs de code non statiques

1. Les blocs de code statiques :

Les blocs de code statiques sont utilisés lorsqu'une classe. is Il est appelé en premier lors du chargement (mémoire) et est exécuté une fois. Les blocs statiques sont souvent utilisés pour initialiser les attributs de classe. Il sera appelé avant d'exécuter le chargement de la classe .

2. Bloc de code non statique :

Le bloc de code non statique est le premier à être appelé lorsqu'un objet de la classe est créé et chargé (en mémoire). L'objet est créé, c'est-à-dire qu'à chaque fois qu'un objet est chargé, des blocs de code non statiques sont exécutés une fois. Il sera appelé avant d'exécuter le chargement de objet de classe .

3. Méthodes statiques et méthodes non statiques : elles sont toutes exécutées lorsqu'elles sont appelées. Les méthodes statiques appartiennent aux classes et peuvent être appelées après le chargement de la classe ; les méthodes non statiques appartiennent aux objets et les méthodes non statiques peuvent être appelées après le chargement de l'objet.

2. Exemples de démonstrations connexes

 1 public class Cc { 2     public static void main(String[] args) { 3         test p=new test(); 4     } 5 } 6  7 class test { 8     test() {  //在类对象创建的时候就开始执行。简称创建即执行。 9         System.out.println("这是构造函数");10     }11 12     {  //构造代码块,执行在构造函数之前,每当在创建类对象的时候都执行。13         System.out.println("这是构造代码块");14     }15     16     static {  //静态代码块,最早执行,且值执行一次。17         System.out.println("这是静态代码块");18     }19 }

Imprimer les résultats :

Montre ce qui se passe lorsqu'on l'appelle deux fois. Approfondissez votre compréhension des blocs de code statiques.

 1 public class Ccc { 2 public static void main(String[]args) 3 { 4     MyTest p=new MyTest(); 5     MyTest p2=new MyTest();//两次调用 6 } 7 } 8 class MyTest{ 9     10     MyTest(){11         System.out.println("这是构造函数");12     }13     14     {15         System.out.println("这是构造代码块");16     }17     18     static{19         System.out.println("这是静态代码块");20         21     }22 }

Le résultat de l'impression est le suivant :

Présentation d'un exemple avec des paramètres :

 1 class Cccc { 
 2     public static void main(String[] args) { 
 3         new Person(77);
 4         new Person();
 5     }
 6 } 
 7  
 8 class Person { 
 9     
 10     Person() {
 11         System.out.println("a");
 12     }
 13 
 14     
 15     Person(int x) {  //注意带参数了!!
 16         System.out.println(x);
 17     }
 18 
 19     static {
 20         System.out.println("b");
 21     }
 22 
 23     {
 24         System.out.println("c");
 25     }
 26 }

Imprimer les résultats :

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
Article précédent:Sélecteur de JAVA-5NIOArticle suivant:Sélecteur de JAVA-5NIO