• 《初始化块:普通初始化块、静态初始化块(类初始化块)》


     1 /*
     2 初始化块:普通初始化块、静态初始化块(类初始化块)
     3 
     4 下面程序创建了三个类:Root,Mid和Leaf,
     5 者三个类都提供了静态初始化块和普通初始化块,
     6 而且Mid类里还是用this调用重载构造区,而
     7 Leaf使用super显示调用父类指定的构造器
     8 */
     9 class Root
    10 {
    11     static{
    12         System.out.println("Root的静态初始化块");
    13     }
    14 
    15     {
    16         System.out.println("Root的普通初始化块");
    17     }
    18     public Root()
    19     {
    20         System.out.println("Root的无参数的构造器");
    21     }
    22 }
    23 
    24 class Mid extends Root
    25 {
    26     static{
    27         System.out.println("Mid的静态初始化块");
    28     }
    29 
    30     {
    31         System.out.println("Mid的普通初始化块");
    32     }
    33     public Mid()
    34     {
    35         System.out.println("Mid的无参数的构造器");
    36     }
    37     public Mid(String msg)
    38     {
    39         //通过this调用同一类中重载的构造器
    40         this();
    41         System.out.println("Mid的带参数的构造器,其参数值是:"+msg);
    42     }
    43 }
    44 
    45 class Leaf extends Mid
    46 {
    47     static{
    48         System.out.println("Leaf的静态初始化块");
    49     }
    50 
    51     {
    52         System.out.println("Leaf的普通初始化块");
    53     }
    54     
    55     public Leaf()
    56     {
    57         //通过super调用父类中有一个字符串参数的构造器
    58         super("疯狂Java讲义");
    59         System.out.println("执行Leaf的构造器");
    60     }
    61 }
    62 
    63 class Test
    64 {
    65     public static void main(String[] args) 
    66     {
    67         new Leaf();
    68         new Leaf();
    69     }
    70 }
    71 /*
    72 运行如下:(好好理解理解)
    73 ---------- 运行 ----------
    74 Root的静态初始化块
    75 Mid的静态初始化块
    76 Leaf的静态初始化块
    77 Root的普通初始化块
    78 Root的无参数的构造器
    79 Mid的普通初始化块
    80 Mid的无参数的构造器
    81 Mid的带参数的构造器,其参数值是:疯狂Java讲义
    82 Leaf的普通初始化块
    83 执行Leaf的构造器
    84 Root的普通初始化块
    85 Root的无参数的构造器
    86 Mid的普通初始化块
    87 Mid的无参数的构造器
    88 Mid的带参数的构造器,其参数值是:疯狂Java讲义
    89 Leaf的普通初始化块
    90 执行Leaf的构造器
    91 
    92 输出完成 (耗时 0 秒) - 正常终止
    93 */
  • 相关阅读:
    Unity-WIKI 之 AllocationStats(内存分配)
    Unity-WIKI 之 DebugLine
    Unity-WIKI 之 DebugConsole
    Unity-WIKI 之 DrawArrow
    Unity 2D Sprite Lighting
    Unity 2D Touch Movement
    [Unity2D]2D Mobile Joystick
    DragRigidbody2D
    Finger Gestures 3.1
    2D Skeletal Animation Ready
  • 原文地址:https://www.cnblogs.com/sun-/p/5448290.html
Copyright © 2020-2023  润新知