java初始化顺序—代码示例

phpmysqlchengxu

温馨提示:这篇文章已超过239天没有更新,请注意相关的内容是否还可用!

java初始化顺序—代码示例

1、Java中的初始化顺序是指在创建对象时,成员变量和代码块的初始化顺序。会先执行父类的静态代码块和静态成员变量的初始化,然后执行子类的静态代码块和静态成员变量的初始化。接着,会执行父类的非静态代码块和非静态成员变量的初始化,最后执行父类的构造方法。会执行子类的非静态代码块和非静态成员变量的初始化,最后执行子类的构造方法。

示例代码如下:

class Parent {

static {

System.out.println("父类的静态代码块");

}

{

System.out.println("父类的非静态代码块");

}

public Parent() {

System.out.println("父类的构造方法");

}

static int staticVar = 1;

int instanceVar = 2;

}

class Child extends Parent {

static {

System.out.println("子类的静态代码块");

}

{

System.out.println("子类的非静态代码块");

}

public Child() {

System.out.println("子类的构造方法");

}

static int staticVar = 3;

int instanceVar = 4;

}

public class Main {

public static void main(String[] args) {

Child child = new Child();

}

}

输出结果为:

父类的静态代码块

子类的静态代码块

父类的非静态代码块

父类的构造方法

子类的非静态代码块

子类的构造方法

在上述示例中,首先执行父类的静态代码块,然后执行子类的静态代码块。接着,执行父类的非静态代码块和构造方法,最后执行子类的非静态代码块和构造方法。这就是Java中初始化顺序的过程。

文章版权声明:除非注明,否则均为莫宇前端原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码