创建子类对象的时候,是子类的属性先执行还是父类的静态方法先执行???
子类的构造器第一行会执行 : super(xxx) , 就是调用父类的构造器, 即先初始化父类的东西, 所以父类的成员变量会先被赋初值.
静态方法像普通的方法一样, 是要被调用才能执行的, 不是对象初始化的时候自动被执行 !
如果子类的构造器第一行没有写 super(xxx), Java编译后默认会加上 super(), 即默认调用父类的无参构造函数.
这么说吧是先有你还是先有你父亲,只要记住顺序就可以啦。
创建子类对象时执行顺序:
父类静态属性--子类静态属性--父类非静态属性---子类非静态属性---父类构造方法---子类构造方法
父类
http://blog.csdn.net/gpf951101/article/details/77073357
这篇文章有例题和说明,背知识背不住,可以对照例题。