黑马程序员技术交流社区

标题: 构造代码块 [打印本页]

作者: yearn    时间: 2015-4-13 10:18
标题: 构造代码块
什么是构造代码块,格式是怎么写的?
作者: Zack    时间: 2015-4-13 10:22
第一,可以对成员变量进行初始化
第二,通常情况下默认的无参数的构造代码块是创建对象必须使用的。
第三,可以对创建对象提供多种方式,即构造函数重载
作者: 静心明德    时间: 2015-4-13 12:29
作用:给对象进行初始化。
        对象一旦建立就运行,而且优先于构造函数执行。
和构造函数的区别:
        构造代码块是给所有对象进行统一初始化;而构造函数是给对应的对象初始化。构造代码块中定义的是不同对象共性的初始化内容。

给你举个例子:

{
    //你的代码内容
}

就这样一块。
作者: 侯永凯    时间: 2015-4-13 21:38
在成员位置直接用大括号的
作者: 燕赵之风    时间: 2015-4-13 22:02
构造代码块:用于给所有对象进行初始化。
给你举个例子:
class Person
{
    private String name;
    private int age;
    {
        System.out.println("构造代码块部分运行");
    }
    Person(){}
    Person(String name){this.name=name;}
    Person(String name,int age){this.name=name;this.age=age;}
}
main(String[] args)
{
    Person p1=new Person();
    Person p2=new Person("lisi");
    Person p3=new Person("lisi",15);
}
程序运行结果:
构造代码块部分运行
构造代码块部分运行
构造代码块部分运行

{
    构造代码块代码;
}
这就是构造代码块的格式。这个部分不论你放在Person类里哪个位置,运行结果都是这样。

作者: caotierong    时间: 2015-4-13 22:12
构造代码块是给所有对象进行初始化的,它优先于构造函数执行!
作者: m-勇敢的心    时间: 2015-4-13 22:13
直接大括号括起来的那部分代码    是给对象初始化的。每创建一个对象就执行一次 ,,以后很少用的啊
作者: IT杰    时间: 2015-4-13 22:16
构造代码块就是指给所有对象进行初始化,但是它优先于构造函数先执行
作者: lf027    时间: 2015-4-13 22:17
构造代码块:用于给所有对象进行初始化。
给你举个例子:
class Person
{
    private String name;
    private int age;
    {
        System.out.println("构造代码块部分运行");
    }
    Person(){}
    Person(String name){this.name=name;}
    Person(String name,int age){this.name=name;this.age=age;}
}
main(String[] args)
{
    Person p1=new Person();
    Person p2=new Person("lisi");
    Person p3=new Person("lisi",15);
}
程序运行结果:
构造代码块部分运行
构造代码块部分运行
构造代码块部分运行

{
    构造代码块代码;
}
这就是构造代码块的格式。这个部分不论你放在Person类里哪个位置,运行结果都是这样。


再加上一句,就完美了
构造代码块的位置在类中,方法外
作者: 缤纷落叶    时间: 2015-4-13 22:38
就是一对花夸号...
作者: 刚起步的小马驹    时间: 2015-4-13 22:43
记不住咋办




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2