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("Java初始化顺序演示");   System.out.println("执行Leaf的构造器");  }

    }

    public class TestStaticInitializeBlock {  public static void main(String[] args)  {   new Leaf();   

     } }

    所有的静态初始化块都优先执行,其次才是非静态的初始化块和构造函数,它们的执行顺序是:

    父类的静态初始化块

    子类的静态初始化块

    父类的初始化块

    父类的构造函数

    子类的初始化块

    子类的构造函数可以在类中使用“{”和“}”将语句包围起来,直接将其作为类的成员。 类的这种“没有名字”的“成员”,多用于初始化类的字段。

  • 相关阅读:
    Software_programming_automation_selenium
    Software_programming_EnterpriseArch_ServiceWithSingleTonFactory
    web-bootstrap-button
    Software--C#--grammer_Delegate--Event
    Software_C#_grammer_Deletegate--Strategy
    Software--BigData--StreamingData
    线程死锁和递归锁
    同步锁Lock(互斥锁)
    GIL计算python 2 和 python 3 计算密集型
    什么是python的全局解释锁(GIL)
  • 原文地址:https://www.cnblogs.com/zaixiachengxuyuan/p/11696408.html
Copyright © 2011-2022 走看看