java基础知识---初始化块、调用顺序

来源:互联网 发布:淘宝客经典文案 编辑:程序博客网 时间:2024/06/03 21:30

学习疯狂java讲义笔记:

1。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 name){this();System.out.println("Mid的有残构造函数"+name);}}class Leaf extends Mid{static{System.out.println("Leaf的静态初始化快");}{System.out.println("Leaf 的普通初始化快");}public Leaf(){super("疯狂java讲义");System.out.println("Leaf的无参构造函数");}}public class StaticFiledTest {public static void main(String[] args) {// TODO Auto-generated method stubnew Leaf();new Leaf();}}

结果:

Root的静态初始化块
Mid的静态初始化快
Leaf的静态初始化快
Root的普通初始化快
Root的无参构造函数
Mid的普通初始化快
Mid的无参构造函数
Mid的有残构造函数疯狂java讲义
Leaf 的普通初始化快
Leaf的无参构造函数


//第二次newLeaf()的输出结果
Root的普通初始化快
Root的无参构造函数
Mid的普通初始化快
Mid的无参构造函数
Mid的有残构造函数疯狂java讲义
Leaf 的普通初始化快
Leaf的无参构造函数

0 0
原创粉丝点击