Heim  >  Artikel  >  Java  >  Wie ist die Ausführungsreihenfolge von statischen Java-Blöcken, freien Blöcken und Konstruktoren?

Wie ist die Ausführungsreihenfolge von statischen Java-Blöcken, freien Blöcken und Konstruktoren?

WBOY
WBOYnach vorne
2023-04-18 19:55:471141Durchsuche

statisches Blockformat:
statisch
{
}
statische Blöcke werden ausgeführt, wenn die Klasse geladen ist, und weil beim Laden einer Unterklasse die übergeordnete Klasse vorbelastet wird, wird die übergeordnete Klasse vorgeladen, sodass so übergeordnete Klasse Wenn darin ein statischer Block vorhanden ist, wird dieser zuerst ausgeführt. Der statische Block der Unterklasse wird dann sofort ausgeführt.
Wenn eine Klasse mehrere statische Blöcke enthält, werden diese in der Reihenfolge der Codierung ausgeführt.
Hinweis: Da die Klasse nur einmal geladen wird, wird jeder statische Block nur einmal ausgeführt.
Format des freien Blocks:
{
}
Der freie Block wird ausgeführt, wenn die Klasse instanziiert wird.
Wenn Sie eine Unterklasse instanziieren möchten, instanziiert ihr Konstruktor zuerst die übergeordnete Klasse. Daher wird zuerst der freie Block der übergeordneten Klasse ausgeführt und dann beginnt der Aufbau der übergeordneten Klasse. Nachdem der Konstruktor der übergeordneten Klasse ausgeführt wurde, werden die Operationsrechte an den Konstruktor der Unterklasse zurückgegeben und der freie Block der Unterklasse wird ausgeführt.
Dann beginnen Sie mit dem Aufbau der Unterklasse.

Das Folgende ist eine Kombination aus statischem Block der übergeordneten Klasse, statischem Block der untergeordneten Klasse, freiem Block der übergeordneten Klasse, freiem Block der untergeordneten Klasse, Konstruktor der übergeordneten Klasse, Konstruktor der untergeordneten Klasse, diesem Schlüsselwort und dem Schlüsselwort super. Die Beispiele sind einer Analyse wert und Aufnahme.

[Java] Ansicht
plaincopycpackage com.lsky.test;


  1. Vater der öffentlichen Klasse {

  2. Private into;

  3. // Statische Blöcke im übergeordneten Element {

  4. System.out.print ln(" Frohes Neues Jahr 2010");

  5. }

  6. public void first(int i){

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

  8. System.out. println(sum);

  9. }

  10. //Parameterloser Konstruktor der übergeordneten Klasse

  11. public Father(){

  12. System.out .println("Guten Tag");

  13. }

  14. //Konstruktor mit Parametern

  15. public Father(String s){

  16. System.out.println("Wir sind Studenten");

  17. }

  18. // Freier Block in der Elternklasse

  19. {

  20. System.out.println("Bodhi hat keinen Baum, Spiegel ist kein Ständer, da ist nichts. , wo man Staub verursachen kann");

  21. ??

  22. privater statischer Vater, Vater; ??

  23. }
  24. // Parameterloser Konstruktor (parameterloser Konstruktor) in der Unterklasse
  25. public Son(){

  26. this.punk(6);

  27. }
  28. public void first(int i){
  29. sum=sum+i++;
  30. System.out.println (sum);
  31. }
  32. //Statischer Block in Unterklasse
  33. static{
  34. Father f=new Son();
  35.  f.first(4);
  36. }
  37. int punk(int sum){

  38. Summe= sum;

  39. return sum;

  40. }

  41. //Freie Blöcke in Unterklassen

  42. {

  43. System.out.println("Es war einmal schwierig, Wasser zu machen, aber Wushan ist keine Wolke");

  44. }

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

  46. Sohn Sohn=neuer Sohn(neuer Sohn()); Klartext

  47. //Das Ausgabeergebnis ist:

  48. Frohes Neues Jahr 2010

Es gibt keinen Bodhi-Baum, noch einen Spiegel, es gibt überhaupt nichts, wo können wir Staub verursachen

Guten Tag
  1. Es war einmal, alles war schwer zu überwinden, aber Wushan war keine Wolke

  2. 4

  3. Bodhi hat keinen Baum, Spiegel ist ursprünglich kein Ständer Es gibt nichts, wo können wir Staub bekommen? kein Stand. Es gibt überhaupt nichts, wo ist der Staub?

  4. Ein wunderschöner Tag

  5. Es ist schwierig, Wasser im Meer zu finden, außer dass Wushan keine Wolke ist

Das obige ist der detaillierte Inhalt vonWie ist die Ausführungsreihenfolge von statischen Java-Blöcken, freien Blöcken und Konstruktoren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen