ホームページ >Java >&#&チュートリアル >Javaの静的ブロック、フリーブロック、コンストラクターの実行順序は何ですか?

Javaの静的ブロック、フリーブロック、コンストラクターの実行順序は何ですか?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB転載
2023-04-18 19:55:471180ブラウズ

静的ブロック形式:
static
{
}
静的ブロックはクラスがロードされるときに実行され、サブクラスをロードするときに親クラスがプリロードされるため、親クラスに静的ブロックがある場合は、それが最初に実行されます。サブクラスの静的ブロックはすぐに実行されます。
クラス内に複数の静的ブロックがある場合、コーディング順に実行されます。
注: クラスは 1 回だけロードされるため、各静的ブロックは 1 回だけ実行されます。
フリーブロック形式:
{
}
空きブロックは、クラスがインスタンス化されるときに実行されます。
サブクラスをインスタンス化する場合、そのコンストラクターはまずその親クラスをインスタンス化します。したがって、親クラスの空きブロックが最初に実行され、その後、親クラスの構築が開始されます。親クラスのコンストラクタが実行された後、サブクラスのコンストラクタに操作権が戻り、サブクラスの空きブロックの実行が開始されます。 次に、サブクラスの構築を開始します。

以下は、親クラスの静的ブロック、サブクラスの静的ブロック、親クラスのフリー ブロック、サブクラスのフリー ブロック、親クラスのコンストラクター、サブクラスの組み合わせです。このキーワードとスーパーキーワードの例であるコンストラクターは、分析して記録する価値があると感じます。

[java] ビュー plaincopy

  1. package com.lsky.test;


  2. ##public class Father {
  3. ## private int sum;
  4. //親クラスの静的ブロック
  5. ## static {

  6. ## System.out.println("Happy New Year 2010");

  7. }

  8. public void first (int i){

  9. sum= i sum -1 i--;

  10. System.out.println( sum);

  11. }

  12. //親クラスのパラメーターなしのコンストラクター

  13. public Father (){

  14. System.out.println("Good day");

  15. }

  16. //パラメータ付きコンストラクター

  17. ## public Father(String s){
  18. System.out.println("私たちは学生です ");
  19. }
  20. //親クラスのブロックを解放します
  21. {
  22. System.out.println("菩提樹には木もないし、鏡も台ではない。そもそも何もないのに、どうしてホコリが出るのか");
  23. }
  24. ##パッケージ com.lsky.test;

  25. ## public class Son extends Father {

  26. private int sum;

  27. private static Father Father;

  28. //サブクラス内のパラメータを含むコンストラクタ (パラメータを含むコンストラクタ)

  29. public Son(Father 父){

  30. this();

  31. Father.first(8);

  32. }

  33. //サブクラスのパラメータなしコンストラクタ (パラメータなしコンストラクタ)

  34. public Son(){

  35. # this.punk(6);

  36. }


    ## public void first(int i){
  37. ## sum=sum i ;

  38. System.out.println(sum);

  39. # }

  40. # //サブクラスの静的ブロック
  41. static{
  42. ## 父 f=new Son();
  43. ## f.first(4);

  44. }

  45. ## int punk(int sum){

  46. sum=sum;

  47. return sum;

  48. }

  49. //サブクラスのブロックを解放します

  50. {

  51. System.out.println("海を越えるのが難しかった時代がありました。呉山を除いて、それは雲ではありませんでした");

  52. }

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

  54. 息子 Son=new Son(new Son());


  55. ## }

  56. }

[java] ビュー plaincopy

    ##//出力結果は次のとおりです:

  1. 2010 年明けましておめでとうございます
  2. 菩提樹もないし、鏡も台もない、そもそも何もないのに、どこでゴミをとればいいの?
  3. 美しい日
  4. かつて、海は克服するのが困難でした、呉山を除いて、それは雲ではありませんでした
  5. 4
  6. 菩提樹には木もないし、鏡も台もない、そもそも何もない、塵はどこにある
  7. # # 美しい日
  8. かつて海は水で満たされていたが、呉山を除いては雲ではない
  9. 菩提樹はない、ミラーはスタンドではありません、そもそも何もないので、どこにゴミが発生するのでしょうか?
  10. こんにちは
  11. かつては海を越えるのは困難でしたが、呉山を除いては雲ではありません
  12. 8

以上がJavaの静的ブロック、フリーブロック、コンストラクターの実行順序は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。