Java实例化对象时的初始化

Posted wxgshareblog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java实例化对象时的初始化相关的知识,希望对你有一定的参考价值。

在实例化对象时会对对象所在的所有成员变量进行初始化

实例化化对象:类名() 对象名 = new 类名();

这时会调用(顺序如下)

1.父类的非静态代码块

{

......//用花括号包围的内容是非静态代码块

}

2.父类的构造函数

Public 父类名(){

.......//这里是父类的构造函数

}

3.子类的非静态代码块

4.子类的构造函数

会依次调用这几个方法

在这里还会有静态代码块:

Static{

......//这里面的内容就是静态代码块

}

因为静态代码是会先于main方法加载的

所以如果存在静态代码

就会在原先的顺序上最前面加上

1.父类静态代码块

2.静态代码块子类

class Father{
    static {
        System.out.println("父类静态代码块");
    }
    {
        System.out.println("父类非静态代码块");
    }
    public Father(){
        System.out.println("父类构造函数");
    }
}
public class InterfaceTest extends Father{
    static {
        System.out.println("子类静态代码块");
    }
    {
        System.out.println("子类非静态代码块");
    }
    public InterfaceTest(){
        System.out.println("子类构造函数");
    }
    public static void main(String[] args) {
        System.out.println("main方法");

//
        new InterfaceTest();

}

}

 

输出结果:

父类静态代码块

子类静态代码块

main方法

父类非静态代码块

父类构造函数

子类非静态代码块

子类构造函数

以上是关于Java实例化对象时的初始化的主要内容,如果未能解决你的问题,请参考以下文章

java中的实例化对象有啥用???????

详解JAVA对象实例化过程

Java中,构造方法和实例化对象之间的关系

深入理解Java对象的创建过程:类的初始化与实例化

Java对象的实例化过程

Java对象实例化顺序