6.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("这是一个构造代码块");
    }
}

运行结果:在这里插入图片描述

三、作用

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值