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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王毛毛 黑马帝   /  2011-9-21 10:13  /  1874 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

有一个构造方法,就必须有个无参数的构造方法,这句话对吗?

6 个回复

倒序浏览
黑马网友  发表于 2011-9-21 10:31:38
沙发
不对。在存在有参数构造方法的情况下,可以没有无参构造方法。在java中可以同时存在无参构造方法和有参数的构造方法,构造方法是可以重载的。

评分

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

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-9-21 13:07:33
藤椅
构造方法是用于创建对象使用,如果你没写,系统会提供默认的构造方法用于创建对象,如果你写了构造方法,系统就不会为你生成默认的构造方法,你就必须用你自己写的构造方法,如果你写的构造方法有参数,你创建对象的时候也需要给它传相应的参数。

评分

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

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-9-21 13:22:42
板凳

回复 楼主 的帖子

不对嘛。
首先,你所需要知道的是下面一个规则:
1。如果一个类没有设置字定义构造器,那么编译器会默认一个无参构造器。
2。在子类调用构造器时,总是先调用基类的构造器。
3。如果自定义了构造器,那么默认构造器将不存在。

也就是说,如果你自己定义了构造器,而你又要使用无参的构造器,这是你就必须自己提供一个无参的构造器。
同理如果你定义的类是标准的JavaBean就必须定义无参的构造器。
非JavaBean的情况就看需求而定了。

评分

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

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-9-21 14:07:28
报纸

回复 板凳 的帖子

剖析的很详细,很赞同,学习了

评分

参与人数 1技术分 +1 收起 理由
admin + 1 继续努力!

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-9-21 14:10:35
地板
无参构造方法是非对javaBean来说的,若是javaBean就必须有一个无参的构造方法
回复 使用道具 举报
黑马网友  发表于 2011-9-21 14:35:35
7#
就像上面说的,默认是无参的,你自己构造一个有参的,如果还想用无参,就必须构造一个无参,只传有参情况就不必。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马