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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李晓光 黑马帝   /  2012-1-6 22:25  /  1768 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 李晓光 于 2012-1-7 15:09 编辑

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

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

评分

参与人数 1技术分 +1 收起 理由
吴上储 + 1

查看全部评分

3 个回复

倒序浏览
写一个无参数的构造器是为了避免发生错误。如果你没有定义一个有参数的构造器,你写不写这个无参数的构造器都无所谓,java会自动的给你加一个无参数的构造器来用于初始化一些数据。但是如果你写了有参数的构造器,java就不会再为你添加无参数的构造器了。这样一来对你这个类可能没有什么影响,但是如果这个类被其它子类继承,而这个子类又没有指定使用父类哪个构造函数,那么java会默认的使用父类无参数的构造函数,而父类却没有定义无参数的构造函数,所以会出现错误。所以建议在定义了有参数的构造函数的同时,要再定义一个无参数的构造器。

评分

参与人数 1技术分 +1 收起 理由
吴上储 + 1

查看全部评分

回复 使用道具 举报
朱泽宇 发表于 2012-1-6 22:27
写一个无参数的构造器是为了避免发生错误。如果你没有定义一个有参数的构造器,你写不写这个无参数的构造器 ...

这个无参构造器 ,一般在什么情况下用那?
是不是这个类被其他类继承时,最好写个无参数的构造器?
回复 使用道具 举报
JavaBean规范要求的,使用反射编写灵活代码的时候会用到。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马