zoukankan      html  css  js  c++  java
  • 练习题------代码块

    class Root {
      static {
        System.out.println("Root的静态初始化块");
      }
    
      {
        System.out.println("Root的普通初始化块");
      }
    
      public Root() {
        System.out.println("Root的无参数的构造器");
      }
    }
    
    class Mid extends Root {
      static {
        System.out.println("Mid的静态初始化块");
      }
    
      {
        System.out.println("Mid的普通初始化块");
      }
    
      public Mid() {
        System.out.println("Mid的无参数的构造器");
      }
    
      public Mid(String msg) {
        // 通过this调用同一类中重载的构造器
        this();
        System.out.println("Mid的带参数构造器,其参数值:" + msg);
      }
    }
    
    class Leaf extends Mid {
      static {
        System.out.println("Leaf的静态初始化块");
      }
    
      {
        System.out.println("Leaf的普通初始化块");
      }
    
      public Leaf() {
        // 通过super调用父类中有一个字符串参数的构造器
        super("尚硅谷");
        System.out.println("Leaf的构造器");
      }
    }
    
    public class LeafTest {
      public static void main(String[] args) {
        new Leaf();
      }
    }
    

      其中LeafTest  测试类中进行测试    创建Leaf类的对象 由于存在继承关系,创建对象的顺序   Root--->  Mid ---->Leaf   ,静态代码块随着类的加载而执行 非静态代码块是创建对象的时候而执行的,所以执行代码,输出的效果为:

    Root的静态初始化块
    Mid的静态初始化块
    Leaf的静态初始化块
    Root的普通初始化块
    Root的无参数的构造器
    Mid的普通初始化块
    Mid的无参数的构造器
    Mid的带参数构造器,其参数值:尚硅谷
    Leaf的普通初始化块
    Leaf的构造器

  • 相关阅读:
    数据库索引详解
    解决Eclipse中DDMS一直打印输出Connection attempts的问题
    发布一个关于SharePoint的管理小工具
    POJ 2895
    POJ 2909
    2020/6/9 [MRCTF2020]hello_world_go
    2020/5/31 [GKCTF2020]Chelly’s identity
    2020/5/30 [FlareOn6]Overlong
    2020/5/28 BUU_[WUSTCTF2020]level4
    2020/5/25 BUU_[WUSTCTF2020]level3
  • 原文地址:https://www.cnblogs.com/lxsfve/p/13274941.html
Copyright © 2011-2022 走看看