Maison > Java > javaDidacticiel > le corps du texte

Quel est l'ordre d'exécution des blocs statiques Java, des blocs libres et des constructeurs

WBOY
Libérer: 2023-04-18 19:55:47
avant
1137 Les gens l'ont consulté

Format de bloc statique :
static
{
}
Les blocs statiques sont exécutés lorsque la classe est chargée, et parce que lors du chargement d'une sous-classe, la classe parent sera préchargée, donc le classe parent S'il contient un bloc statique, il sera exécuté en premier. Le bloc statique de la sous-classe est alors exécuté immédiatement.
S'il y a plusieurs blocs statiques dans une classe, ils seront exécutés dans l'ordre de codage.
Remarque : Puisque la classe ne sera chargée qu'une seule fois, chaque bloc statique ne sera exécuté qu'une seule fois.
Format de bloc gratuit :
{
}
Le bloc gratuit est exécuté lorsque la classe est instanciée.
Si vous souhaitez instancier une sous-classe, son constructeur va d'abord instancier sa classe parent. Par conséquent, le bloc libre de la classe parent sera exécuté en premier, puis la construction de la classe parent commencera. Une fois le constructeur de la classe parent exécuté, le droit d'opération est renvoyé au constructeur de la sous-classe et le bloc libre de la sous-classe commence à être exécuté.
Ensuite, commencez à construire la sous-classe.

Ce qui suit est une combinaison de bloc statique de classe parent, de bloc statique de sous-classe, de bloc libre de classe parent, de bloc libre de sous-classe, de constructeur de classe parent, de constructeur de sous-classe, de ce mot-clé et de super mot-clé. Les exemples semblent dignes d'être analysés. et l'enregistrement.

[java] vue
plaincopycpackage com.lsky.test; n(" Bonne année 2010");

  1. }

  2. public void first(int i){

  3. sum=++i+sum++-1+ i--;

  4. System.out. println (sum);

  5. }

  6. // Constructeur sans paramètre de classe Parent

  7. Public Père () {

  8. System.out .println ("bonne journée");

  9. //Constructeur avec paramètres

  10. public Father(String s){

  11. System.out.println("Nous sommes étudiants "

  12. }

  13. // Bloc gratuit dans la classe parent

  14. {

  15. System.out.println("Bodhi n'a pas d'arbre, le miroir n'est pas un support, il n'y a rien. , où provoquer la poussière");

    }

  16. package com.lsky.test;
  17. classe publique Fils étend Père {
  18. private int sum;
  19. Père père statique privé;
  20. //Constructeur contenant des paramètres (constructeur contenant des paramètres) dans la sous-classe
  21. public Son(Père père){
  22. this();
  23. }

  24. // Constructeur sans paramètre (constructeur sans paramètre) dans la sous-classe

  25. public Son(){


  26. this.punk(6);

  27. }
  28. public void first(int i){
  29. sum=sum+i++;
  30. System.out.println (sum);
  31. statique{
  32. Père f=nouveau fils();
  33.  f.first(4);
  34. }
  35. int punk(int sum){
  36. somme= sum;

  37. return sum;

  38. }

  39. //Bloc gratuit dans la sous-classe

  40. {

  41. System.out.println("Il était autrefois difficile de produire de l'eau, mais Wushan n'est pas un nuage");

  42. }

  43. public static void main(String argsp[]){

  44. Fils fils=nouveau Fils(nouveau Fils()); plaincopy

  45. //Le résultat de sortie est :

  46. Bonne année 2010

Il n'y a pas d'arbre Bodhi, ni de miroir, il n'y a rien en premier lieu, où pouvons-nous causer de la poussière

Bonne journée
  1. Il était une fois tout était difficile à surmonter, mais Wushan n'était pas un nuage

  2. 4

  3. Bodhi n'a pas d'arbre, le miroir n'est pas un support, à l'origine il n'y a rien, où pouvons-nous trouver de la poussière

  4. merveilleux Un jour

  5. Avant, c'était difficile de faire de l'eau, sauf pour Wushan, ce n'est pas des nuages ​​

  6. Bodhi n'a pas d'arbres, et le miroir est pas un stand. Il n'y a rien en premier lieu, où est la poussière ?

  7. Une belle journée

  8. C'est difficile de trouver de l'eau dans la mer, sauf que Wushan n'est pas un nuage

  9. 8

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!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal