zoukankan      html  css  js  c++  java
  • java代码执行顺序


    package
    com.liubingfei.test; /** * @author LiuBingFei * @desc 测试java类中静态代码块,动态代码块,构造方法,普通方法执行顺序,继承父类时的执行顺序。 * 一、没有继承时候的执行顺序 * 1. 静态代码块---编译的时候执行 * 2. 动态代码块 * 3. 构造方法 * 4. 普通方法 * 二、有继承时候的执行顺序 * 1. 父类的静态代码块 * 2. 子类的静态代码块 * 3. 父类的动态代码块 * 4. 父类的无参构造方法 * 5. 子类的动态代码块 * 6. 子类的有参构造方法 * 7. 子类的普通方法 * @date 2020/3/2 20:59 * @return */ public class sequence extends Father{ private static String name; static { System.out.println("执行静态代码块"); } { System.out.println("执行动态代码块"+name); } public sequence() { System.out.println("执行无参构造方法"+name); } public sequence(String name){ this.name = name; System.out.println("执行有参构造方法"+name); } public void test(){ System.out.println("执行普通方法"+name); } public static void test2(){ System.out.println("执行静态方法"); } public static void main(String[] args){ sequence seq = new sequence("liubingfei"); seq.test(); //test2(); } }

    总结:

    * 一、没有继承时候的执行顺序
    * 1. 静态代码块---编译的时候执行
    * 2. 动态代码块
    * 3. 构造方法
    * 4. 普通方法
    * 二、有继承时候的执行顺序
    * 1. 父类的静态代码块
    * 2. 子类的静态代码块
    * 3. 父类的动态代码块
    * 4. 父类的无参构造方法
    * 5. 子类的动态代码块
    * 6. 子类的有参构造方法
    * 7. 子类的普通方法

  • 相关阅读:
    并发运行的思维模型
    进程和线程的区别
    拿来主义
    同步组件合作和团队合作 让世界变得更美好
    strace a++;b++;a+b;
    System 88: GDB Overview
    numpy多维数组维度及添加轴的理解
    Numpy入门
    python列表list 和numpy.array区别
    数组的生成方法
  • 原文地址:https://www.cnblogs.com/liubingfei/p/12398364.html
Copyright © 2011-2022 走看看