欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java中构造函数与构造代码块加载顺序

程序员文章站 2022-05-22 18:52:27
...
package com.zcw1.demo;

/**
 * @program: 151
 * @description: java中构造函数与构造代码块加载顺序
 * @author: zhaocunwei
 * @create: 2019-12-04 14:15
 */
public class Demo36 {
    {
        //构造代码块
        System.out.println("执行构造代码块");
    }
    public Demo36(){
        System.out.println("执行无参构造");
    }
    public Demo36(String _str){
        System.out.println("执行有参构造");
    }

    public static void main(String[] args) {
        Demo36 demo36 = new Demo36();

    }
}

运行结果:
java中构造函数与构造代码块加载顺序
注意:
虽然先执行了构造代码块,但是这个代码块是在new对象以后,会为每个构造函数添加一个构造代码块
类似下图,构造代码块是依托于构造代码函数执行的,不是先执行构造代码块再执行构造函数。

java中构造函数与构造代码块加载顺序

如果遇到this关键字,也就是构造函数调用自身其他的构造函数时,则不插入构造代码块,