首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

【java】构造函数的沿袭执行顺序

2012-09-11 
【java】构造函数的继承执行顺序问题:子类继承父类,构造函数及公共属性的执行顺序是怎样的?示例代码public c

【java】构造函数的继承执行顺序

问题:

子类继承父类,构造函数及公共属性的执行顺序是怎样的?

示例代码

public class A extends C {B b = new B();static H h = new H();static {System.out.println("this is static tack");}static void i() {System.out.println("this is static metod");}public A() {System.out.println("this is class A");}public static void main(String[] args) {A a = new A();}}class B {public B() {System.out.println("this is class B");}}class C {D d = new D();static E e = new E();final F e1 = new F();static final G e2 = new G();public C() {System.out.println("this is class C");}}class D {public D() {System.out.println("this is class D");}}class E {public E() {System.out.println("this is class E");}}class F {public F() {System.out.println("this is class F");}}class G {public G() {System.out.println("this is class G");}}class H {public H() {System.out.println("this is class H");}}

执行结果:

this is class E
this is class G
this is class H
this is static tack
this is class D
this is class F
this is class C
this is class B
this is class A

执行顺序:

1、实现父类公共的静态属性或静态的块级代码

2、实现本身的公共的静态属性

3、实现父类公共属性

4、执行父类的构造方法

5、实现本身的公共属性

6、执行本身的构造函数

7、静态方法不执行

补充:

当父类有多个构造函数,若子类用super(参数信息)指明调用父类有参数的构造函数,则不执行无参数的构造方法


热点排行