黑马程序员技术交流社区

标题: 构造代码块与构造函数的区别 [打印本页]

作者: 高境    时间: 2012-12-20 10:24
标题: 构造代码块与构造函数的区别
都知道构造函数和构造代码块都是给对象进行初始化的,那么,他们的区别是什么呢?

作者: 王中利    时间: 2012-12-20 10:35
构造函数是可以重载的,也就是说,一个类中可以有多个构造函数,只要他们的参数列表不一样即可,因此就有了局限性,就是只能给特定的对象,也就是和某个构造函数符合,就用哪一个构造函数。
而构造代码块,是可以给任何对象初始化,没有局限性!OK?
作者: netboy032    时间: 2012-12-20 10:52
构造代码块是对对象统一初始化,对象一建立就运行。而构造函数是对对应的对象进行初始化
作者: 杨雯雯    时间: 2012-12-20 11:43
构造代码块。
    作用:给对象进行初始化。
    对象一建立就运行,而且优先于构造函数执行。
    和构造函数的区别:
    构造代码块是给所有对象进行统一初始化
    构造函数是给对应对象初始化

作者: 焦健    时间: 2012-12-20 14:19
构造代码块是给所有对象进行统一初始化的
构造函数是给对应对象初始化的
并且构造代码块也是在对象一建立就运行,而且优先于构造函数执行。
作者: 小洋人最happy    时间: 2012-12-20 15:08
构造函数是给指定的对象进行初始化的,而构造代码块能给所有的对象进行初始化。如:
class Person
{
        String name;
        int age;
        {
                System.out.println("cry");//构造代码块用于给所有对象进行初始化
        }
        Person(String name)//此构造函数只能给zhangshan进行初始化
        {
                this.name = name;
        }
        Person(String name,int age)//此构造函数只能给zhangshan 20进行初始化
        {
                this.name = name;
                this.age = age;
        }
       
}
class  Demo
{
        public static void main(String[] args)
        {
                Person p = new Person("zhangshan");
                Person p1 = new Person("lisi",20);
        }
}

作者: ︶ㄣ布丁    时间: 2012-12-20 15:10
构造代码块:用于给对象初始化的,只要建立对象该部分就会被执行,且优先于构造函数。

作者: 王小聪    时间: 2012-12-20 16:19
1.构造函数和一般函数的区别:
       首先是功能不同:
             构造函数是用来给对象初始化用,
            一般函数是用来封装某些功能用的。
        被调用的方式不同
           构造函数是在对象创建时,就会自动调用与之对应的构造函数
           一般函数是在对象创建后,需要该功能时才会被调用。
        被调用的次数不同
            构造函数在对象创建时只调用一次
           一般函数却是可以重复调用,想用几次都可以。
2.构造函数 与构造代码块儿区别
     构造代码块是给所有对象进行统一初始化,定义不同对象共性初始化内容:比如每个孩子生出来都会哭。
而构造函数是给对应的对象初始化。






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