父类 子类 代码执行顺序

来源:互联网 发布:单片机怎样驱动12v 编辑:程序博客网 时间:2024/06/15 00:14

java 父类 子类 代码块 静态代码块 构造器执行顺序

废话不多说直接上代码

public class Father {    String name;    {        System.out.println("父类代码块");    }    static {        System.out.println("父类静态块");    }    public Father() {        System.out.println("父类无参构造器");    }    public Father(String name) {        this.name = name;        System.out.println("父类有参构造器");    }}
public class Son extends Father {    String name;    {        System.out.println("子类代码块");    }    static {        System.out.println("子类静态块");    }    public Son(){        System.out.println("子类无参构造器");    }    public Son(String name) {        this.name = name;        Father father = new Father(name);        System.out.println("子类有参构造器");    }    public static void main(String[] args) {        new Son("张三");    }}

结果:

父类静态块
子类静态块
父类代码块
父类无参构造器
子类代码块
父类代码块
父类有参构造器
子类有参构造器

分析:
1 父类静态代码块
2 子类静态代码块
3 父类代码块 第一次 new Father() 前(说明,每次实例化类执行)
4 父类无参构造器 new Father() 执行方法
5 子类代码块 new Son(name) 前
6 父类代码块 第二次 new Father(name) 前
7 父类有参构造器 执行构造器 执行方法
8 子类有参构造器 执行构造器 执行方法

欢迎拍砖。

阅读全文
0 0
原创粉丝点击