黑马程序员技术交流社区

标题: 构造函数和构造代码块的疑问 [打印本页]

作者: 柏涛    时间: 2013-12-26 20:02
标题: 构造函数和构造代码块的疑问
构造函数和构造代码块都是为了初始化对象,他们之间有啥区别啊,使用上怎么区分啊? 求指导
作者: 越,在乎的人    时间: 2013-12-26 20:35
构造函数是给对象初始化的,可以有参和无参构造;构造代码块是在类中直接定义没有任何修饰符、前缀、后缀的代码块即为构造代码块。这个代码块是在生成对象的时候调用的,可以理解为每个创建的对象都具备的属性或者方法。构造代码块可有可无,构造函数则必须有,你不给系统会自动给!
作者: HM王琦    时间: 2013-12-26 20:42
构造函数用于对像的初始化,当对象一建立,就被执行。而构造代码块是随类一起加载的优先于构造函数运行
作者: 淡淡de烟草味    时间: 2013-12-26 20:49
子父类中构造方法的用法:
                A:子类的初始化过程中,首先回去执行父类的初始化动作。
                   因为子类的构造方法中默认有一个super()。
                        子类要使用父类的成员变量,这个初始化,必须在子类初始化之前完成。
                  所以,子类的初始化过程中,会先执行父类的初始化。
                B:如果父类没有无参构造方法
                        A:使用super调用父类的带参构造。推荐方式。
                        B:使用this调用本身的其他构造。
作者: 松毛    时间: 2013-12-26 20:52
构造代码块:给对象进行初始化。对象一建立就运行,而且优先于构造函数执行。
构造代码块与构造函数的区别:构造代码块是给所有对象进行统一初始化。而构造函数只给对应的对象初始化。构造代码块中定义的是不同对象共性的初始化内容。
构造代码块给对象初始化;
构造函数给对应对象初始化。
作者: 由然自美    时间: 2013-12-27 11:43
构造代码块是给对象初始化,而构造函数是给对应对象进行初始化.
作者: 冯晓骏    时间: 2013-12-27 15:10
HM王琦 发表于 2013-12-26 20:42
构造函数用于对像的初始化,当对象一建立,就被执行。而构造代码块是随类一起加载的优先于构造函数运行 ...

构造代码块不是随类加载而加载的
作者: hurryup    时间: 2013-12-27 15:18
构造代码块的作用:给对象进行初始化。对象一建立就运行,而且优于构造函数执行。
和构造函数的区别:构造代码块是给所有对象进行初始化,而构造函数是给对应对象进行初始化。
作者: 由然自美    时间: 2013-12-27 20:16
构造函数和构造代码块的区别:
首先在格式上有区别:构造代码块:{构造代码块的执行语句}
构造函数:类名(参数){给对应对象初始化}

构造函数是给对应对象初始化的,而构造代码块是给对象初始化的.

作者: 青菜白汤    时间: 2013-12-28 00:33
类实例构造代码块优先于构造函数运行
  构造函数:
  1.类名一致,不能使用static修饰,被void修饰后则为一般函数。
  2.一个类中可以有多个构造函数,调用根据形参区分。
  3.可以有return,但不能返回任何内容。
  作用:
  给对象初始化




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