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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 柏涛 中级黑马   /  2013-12-26 20:02  /  1312 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

构造函数和构造代码块都是为了初始化对象,他们之间有啥区别啊,使用上怎么区分啊? 求指导

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

9 个回复

倒序浏览
构造函数是给对象初始化的,可以有参和无参构造;构造代码块是在类中直接定义没有任何修饰符、前缀、后缀的代码块即为构造代码块。这个代码块是在生成对象的时候调用的,可以理解为每个创建的对象都具备的属性或者方法。构造代码块可有可无,构造函数则必须有,你不给系统会自动给!

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
构造函数用于对像的初始化,当对象一建立,就被执行。而构造代码块是随类一起加载的优先于构造函数运行
回复 使用道具 举报
子父类中构造方法的用法:
                A:子类的初始化过程中,首先回去执行父类的初始化动作。
                   因为子类的构造方法中默认有一个super()。
                        子类要使用父类的成员变量,这个初始化,必须在子类初始化之前完成。
                  所以,子类的初始化过程中,会先执行父类的初始化。
                B:如果父类没有无参构造方法
                        A:使用super调用父类的带参构造。推荐方式。
                        B:使用this调用本身的其他构造。

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
构造代码块:给对象进行初始化。对象一建立就运行,而且优先于构造函数执行。
构造代码块与构造函数的区别:构造代码块是给所有对象进行统一初始化。而构造函数只给对应的对象初始化。构造代码块中定义的是不同对象共性的初始化内容。
构造代码块给对象初始化;
构造函数给对应对象初始化。

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
构造代码块是给对象初始化,而构造函数是给对应对象进行初始化.
回复 使用道具 举报
HM王琦 发表于 2013-12-26 20:42
构造函数用于对像的初始化,当对象一建立,就被执行。而构造代码块是随类一起加载的优先于构造函数运行 ...

构造代码块不是随类加载而加载的
回复 使用道具 举报
hurryup 高级黑马 2013-12-27 15:18:26
8#
构造代码块的作用:给对象进行初始化。对象一建立就运行,而且优于构造函数执行。
和构造函数的区别:构造代码块是给所有对象进行初始化,而构造函数是给对应对象进行初始化。
回复 使用道具 举报
构造函数和构造代码块的区别:
首先在格式上有区别:构造代码块:{构造代码块的执行语句}
构造函数:类名(参数){给对应对象初始化}

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

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
类实例构造代码块优先于构造函数运行
  构造函数:
  1.类名一致,不能使用static修饰,被void修饰后则为一般函数。
  2.一个类中可以有多个构造函数,调用根据形参区分。
  3.可以有return,但不能返回任何内容。
  作用:
  给对象初始化
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马