A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© yearn 中级黑马   /  2015-4-13 10:18  /  700 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

什么是构造代码块,格式是怎么写的?

10 个回复

倒序浏览
第一,可以对成员变量进行初始化
第二,通常情况下默认的无参数的构造代码块是创建对象必须使用的。
第三,可以对创建对象提供多种方式,即构造函数重载
回复 使用道具 举报
作用:给对象进行初始化。
        对象一旦建立就运行,而且优先于构造函数执行。
和构造函数的区别:
        构造代码块是给所有对象进行统一初始化;而构造函数是给对应的对象初始化。构造代码块中定义的是不同对象共性的初始化内容。

给你举个例子:

{
    //你的代码内容
}

就这样一块。
回复 使用道具 举报
在成员位置直接用大括号的
回复 使用道具 举报
构造代码块:用于给所有对象进行初始化。
给你举个例子:
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类里哪个位置,运行结果都是这样。
回复 使用道具 举报
构造代码块是给所有对象进行初始化的,它优先于构造函数执行!
回复 使用道具 举报
直接大括号括起来的那部分代码    是给对象初始化的。每创建一个对象就执行一次 ,,以后很少用的啊
回复 使用道具 举报
IT杰 中级黑马 2015-4-13 22:16:33
8#
构造代码块就是指给所有对象进行初始化,但是它优先于构造函数先执行
回复 使用道具 举报
lf027 中级黑马 2015-4-13 22:17:02
9#
构造代码块:用于给所有对象进行初始化。
给你举个例子:
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类里哪个位置,运行结果都是这样。


再加上一句,就完美了
构造代码块的位置在类中,方法外
回复 使用道具 举报
就是一对花夸号...
回复 使用道具 举报
记不住咋办
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马