1 序言:
Java中子类、父类变量,代码块,以及构造方法的加载顺序,是我们在程序开发中经常遇到的一个问题,也是比较容易混淆的。
2 正文
为此,我们先来分析一下,一个java程序的构成:
变量: 成员变量(静态变量又叫类变量、实例变量)和局部变量
方法: 成员方法和构造方法
代码块:普通代码块、构造代码块、静态代码块、同步代码块
想要弄清楚子类、父类变量,代码块,以及构造方法的加载顺序,无非就是搞明白变量、方法和代码块的加载顺序。而java中的继承是继承父类的成员变量和成员方法,注意不包括构造方法;New一个对象的过程初始化对象的成员变量(属性),然后初始化对象的构造方法,子类构造方法中默认有super(),因此先父类构造方法后子类构造方法。
由以上分析可得,父类的静态成员变量—-父类静态代码块—-子类静态成员变量—-子类静态代码块—父类构造代码块—父类无参构造方法—子类构造代码块—子类构造方法。
2.1
例子
父类
`public class Person {
public static String name = "
皇帝
";
public String age="100";
public String sex="male";
//