构造代码块

/*
构造代码块:

构造代码块的作用:给对象进行统一的初始化。

构造函数的作用: 给对应的对象进行初始化。


构造代码块的格式:

    {
        构造代码块
    }

注意: 构造代码块的大括号必须位于成员 位置上。


代码块的类别:
    1. 构造代码块。
    2. 局部代码块.   大括号位于方法之内。  作用:缩短局部 变量 的生
    命周期,节省一点点内存。
    3. 静态代码块  static 
*/

class Baby{

    int id; //身份证

    String  name;  //名字

    //构造代码块...
    {
        //System.out.println("构造代码块的代码执行了......");

    }

    //带参构造函数
    public  Baby(int i , String n){
        id  = i;
        name = n;
    }

    //无参构造方法
    public Baby(){
    }

    public void cry(){
        System.out.println(name+"哇哇哭...");
    }   
}



class Demo4 
{
    public static void main(String[] args) 
    {
        Baby b1 = new Baby(110,"狗娃");  //  狗娃 狗剩 铁蛋
        System.out.println("编号:"+ b1.id + " 名字:"+b1.name);
        /*
        System.out.println("编号:"+ b1.id + " 名字:"+b1.name);

        new Baby(112,"狗剩");
        new Baby();
        */
        /*
        new Baby(110,"狗娃");
        new Baby(112,"狗剩");
        new Baby();
        */
    }
}
/*
构造 代码块要注意的事项:
    1. java编译器编译一个java源文件的时候,会把成员变量的声明语句提
    前至一个类的最前端。
    2. 成员变量的初始化工作其实都在在构造函数中执行的。
    3. 一旦经过java编译器编译后,那么构造代码块的代码块就会被移动构造
    函数中执行,是在构造函数之前执行的,构造函数的中代码是最后执行的。
    4. 成员变量的显示初始化与构造代码块 的代码是按照当前代码的顺序执行
    的。
*/
class Demo5 
{



    //构造函数
    public Demo5(){   //构造函数
        i = 300000000;  
    }

    //构造代码块   //构造代码块的初始化
    {
        i = 200000000;
    }

    int i = 100000000;   //成员变量的显初始化



    public static void main(String[] args) 
    {
        Demo5 d = new Demo5();
        System.out.println("i = "+d.i); //    双、吴、刘 :2000   :
    }
}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值