构造方法有什么用??

long_8511 2011-06-02 08:37:18
老师在课堂上讲过:构造方法是类的一种特殊的方法,它主要作用是完成对新对象的初始化,它有几个特点:

方法名和类名相同 2.没有返回值
在创建一个类的新对象时,系统会自动的调用该类的构造方法完成对新对象的初始化

在什么情况下不能用系统自动生成的构造方法,要自己写构造方法?
...全文
538 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
daijope 2011-06-03
  • 打赏
  • 举报
回复
当要传入参数,初始化成员变量是,就要overload构造函数。
职业宅男 2011-06-03
  • 打赏
  • 举报
回复
还是让你们老师再跟你讲讲吧。
larrywoo 2011-06-03
  • 打赏
  • 举报
回复
没意思
hanRivergo 2011-06-03
  • 打赏
  • 举报
回复
系统默认的构造函数是无参的。慢慢体会吧。
aa12345q 2011-06-03
  • 打赏
  • 举报
回复
当你的构造方法需要传入外部参数是必须手动指明要调用的方法 否则系统会调用默认的
HOME_ning 2011-06-03
  • 打赏
  • 举报
回复
个人感觉,这样的问题还是自己多多实践,等你写代码多了,会有所体会,单纯的靠别人的解释,很难真正理解啊~~~
yaganblw 2011-06-03
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 hudie1234567 的回复:]

比方说,你定义的类中有些成员需要在new的时候就创建好,这时候这些代码就放在构造函数里面!
[/Quote]
同意,构造函数主要就是实例化这个类的一些信息。而想要让你的类健壮,完善,就需要在构造函数中添加很多东西。
lliiqiang 2011-06-03
  • 打赏
  • 举报
回复
初始化对象的时候要运行一些代码
lovingshu 2011-06-02
  • 打赏
  • 举报
回复
初始化值或者是在实例化对象是有牵连的东西
墨梓霖 2011-06-02
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 beijing_l 的回复:]
系统只会默认无参数构造
比如 Peron p=new Person()
带参构造,都需要自己写
比如 Person p=new Person("张三",20,"男")
[/Quote]
++
1.
像 这种 Person p=new Person("张三",20,"男") 形式的,,,如果没有这种形式,我们需要用p.setXXX()来写。。
2.
创建单例时,我们会 private Person(){}

3.
当我们要创建对象时必须要求 创建者提供一个参数,,我们可以在类中,只定义一个有参的构造函数
public Person(Object obj){...}
然后当使用者试图用 Person p = new Person()的时候,就会编译报错。

4.还有很多例子,,,楼主等用到时,再百度查询答案吧。

借我那把枪吧 2011-06-02
  • 打赏
  • 举报
回复
初始化用
TKD03072010 2011-06-02
  • 打赏
  • 举报
回复
由于系统只为你默认创建默认的构造函数(不能传参,只为创建一个对象)
当你需要传参的时候,或通过构造函数完成对成员变量初始化之类 可以自己创建
happysmhzp 2011-06-02
  • 打赏
  • 举报
回复
你想通过构造函数做一些其他的事
  • 打赏
  • 举报
回复
有些参数值只允许读,不允许设值时一般会采用在构造方法中一次性地将参数值传入。
chenchenyangll 2011-06-02
  • 打赏
  • 举报
回复
一般情况下,自己写的类 都可以不写带参数的构造函数
对于需要传入的参数,可以通过setXXX的方法传入

但是

如果类继承了一些类,而父类有自己的带参数构造函数,那么子类必须自己写一个这样的构造函数
=PNZ=BeijingL 2011-06-02
  • 打赏
  • 举报
回复
系统只会默认无参数构造
比如 Peron p=new Person()
带参构造,都需要自己写
比如 Person p=new Person("张三",20,"男")
tntsuifeng 2011-06-02
  • 打赏
  • 举报
回复
在什么情况下不能用系统自动生成的构造方法,要自己写构造方法?
再你创建一个新的对象需要对该类的成员变量进行一个初始化的时候,这时候就不能使用默认的空构造方法了
茫茫大海 2011-06-02
  • 打赏
  • 举报
回复
比方说,你定义的类中有些成员需要在new的时候就创建好,这时候这些代码就放在构造函数里面!
茫茫大海 2011-06-02
  • 打赏
  • 举报
回复
需要的时候!!!

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧