zoukankan      html  css  js  c++  java
  • Java 代码块:静态代码块、构造代码块、构造函数块

      Class : StaticFa

    package edu.bai.du.lime.staticCode;
    
    public class StaticFa {
    
      // 随着类的声明而执行
    static { System.out.println("Fa:静态代码块"); }
      //只有在类实例化时执行,优先构造函数块 { System.out.println(
    "Fa:构造代码块"); }
      //只有在类实例化时执行。
    public StaticFa(){ System.out.println("Fa:构造函数块"); } public StaticFa(String s){ System.out.println("Fa:构造函数块" + s); } }

      Class : StaticSon

    package edu.bai.du.lime.staticCode;
    
    public class StaticSon extends StaticFa {
    
      //随着类的声明而执行
    static { System.out.println("son:静态代码块"); }
      //只有在类实例化时执行,优于构造函数块先执行 { System.out.println(
    "son:构造代码块"); }
      //只有在类实例化时执行。
    public StaticSon() {
         //如果不指定,默认调用父类的无参构造函数
    super(); System.out.println("son:构造函数块"); } public StaticSon(String s) {
         //如果不指定,默认调用父类的无参构造函数
    super(s); System.out.println("son:函数构造块" + s); } }

      Class : StaticMain

    package edu.bai.du.lime.staticCode;
    
    public class StaticMain {
    
        public static void main(String[] args){
            StaticSon son;
            System.out.println("-----");
            StaticFa fa = new StaticSon("lime");
            StaticSon son2;
            System.out.println("-----");
            StaticFa fa2 = new StaticSon("lime");
        }
    }

      Console :

    -----
    Fa:静态代码块
    son:静态代码块
    Fa:构造代码块
    Fa:构造函数块lime
    son:构造代码块
    son:函数构造块lime
    -----
    Fa:构造代码块
    Fa:构造函数块lime
    son:构造代码块
    son:函数构造块lime

      得出结论:

    1.执行顺序:静态代码>构造代码块>构造函数
    2.静态代码块随类的声明而执行(仅执行一次),而构造代码块和构造方法则在一个类实例化后执行(实例化多少次执行多少次),其中构造代码块又优先于构造方法执行
    3.子类StaticSon没有用super(s)时,默认调用fa的无参构造函数即输出:fa:构造函数块
     
  • 相关阅读:
    Python3 字符串格式化
    TypeError: Object of type 'int32' is not JSON serializable
    论文学习——《Learning to Compose with Professional Photographs on the Web》 (ACM MM 2017)
    python中PIL.Image,OpenCV,Numpy图像格式相互转换
    python 在列表,元组,字典变量前加*号
    python指定概率随机取值 理解np.random.seed()
    论文学习——《Good View Hunting: Learning Photo Composition from Dense View Pairs》
    目标检测知识杂点
    VGG16学习笔记
    python png与jpg的相互转换
  • 原文地址:https://www.cnblogs.com/ClassNotFoundException/p/6283074.html
Copyright © 2011-2022 走看看