黑马程序员技术交流社区

标题: 参数构造器的问题 [打印本页]

作者: 李晓光    时间: 2012-1-6 22:25
标题: 参数构造器的问题
本帖最后由 李晓光 于 2012-1-7 15:09 编辑

看视频的时候发现有好多地方。
老师都会先写个无参数的构造器 ,
在写有参数的构造器   比如:
public  ren( )
{
}                          

public  ren(String name,String  sex)
{
this.name=name;
this.sex = sex;
}
——————————————————————
public  ren( )
{
}                             这里面是空的,在这有什么用?

作者: 朱泽宇    时间: 2012-1-6 22:27
写一个无参数的构造器是为了避免发生错误。如果你没有定义一个有参数的构造器,你写不写这个无参数的构造器都无所谓,java会自动的给你加一个无参数的构造器来用于初始化一些数据。但是如果你写了有参数的构造器,java就不会再为你添加无参数的构造器了。这样一来对你这个类可能没有什么影响,但是如果这个类被其它子类继承,而这个子类又没有指定使用父类哪个构造函数,那么java会默认的使用父类无参数的构造函数,而父类却没有定义无参数的构造函数,所以会出现错误。所以建议在定义了有参数的构造函数的同时,要再定义一个无参数的构造器。
作者: 李晓光    时间: 2012-1-6 23:50
朱泽宇 发表于 2012-1-6 22:27
写一个无参数的构造器是为了避免发生错误。如果你没有定义一个有参数的构造器,你写不写这个无参数的构造器 ...

这个无参构造器 ,一般在什么情况下用那?
是不是这个类被其他类继承时,最好写个无参数的构造器?
作者: zl918    时间: 2012-1-7 06:45
JavaBean规范要求的,使用反射编写灵活代码的时候会用到。




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