6.Java构造代码块

Java构造代码块

  • 一、格式
  • 二、执行时机
  • 三、作用

莫听穿林打叶声,何妨吟啸且徐行。

苏轼《定风波·莫听穿林打叶声》

一、格式

构造代码块在类中直接定义,代码放在直接{}里面没有任何其他关键字(如void、static等)修饰也无需任何参数。如:

    {
        System.out.print("这是一个构造代码块");
    }

二、执行时机

构造代码在创建对象时被调用,每次创建对象时(也就是new一个对象时,而不是声明一个对象时)都会被调用且仅调用一次,如:

public class demo {
    public static void main(String args[]) {
        System.out.println("声明一个test对象:");
        test a;//仅声明对象,故不会调用构造代码块
        System.out.println("声明并创建一个test对象:");
        test b = new test();//创建对象,调用一次构造代码块
        System.out.println("重新创建一个test对象:");
        b = new test();//创建对象,调用一次构造代码块
        System.out.println("再次创建一个test对象:");
        new test();//创建对象,调用一次构造代码块
    }
}

class test {
    {
        System.out.println("这是一个构造代码块");
    }
}

运行结果:6.Java构造代码块_第1张图片

三、作用

由于只要创建对象构造代码块都会执行一次,故构造代码块可以用于初始化成员变量、统计创建对象的次数等。

你可能感兴趣的:(Java,SE学习笔记,java)