黑马程序员技术交流社区

标题: 关于一个构造函数的问题 [打印本页]

作者: 李东城    时间: 2013-2-5 16:35
标题: 关于一个构造函数的问题
本帖最后由 李东城 于 2013-2-6 03:02 编辑

我看到一段代码,不是很理解,劳烦各位大哥大姐帮忙解答一下,代码如下(我只是写出主要部分):
  1. pubic class Abc
  2. {
  3.     public Abc() :this(2,100)
  4.     {
  5.     }

  6.     public Abc(int i,int k)
  7.     {
  8.     }
  9. }
复制代码
我明白public Abc(int i,int k)是非默认构造函数,但public Abc() :this(2,100)就不太明白了,能帮忙解释一下吗?
作者: 许庭洲    时间: 2013-2-5 16:40
本帖最后由 许庭洲 于 2013-2-5 16:45 编辑

表示的是Abc构造函数可以调用this(2,100)函数里的代码,而this(2,100)就是Abc的带参的重载函数Abc(int i,int k)。
作者: 刘明杰    时间: 2013-2-5 18:25
当你调用无参构造函数的时候,无参构造函数默认会调用 public Abc(int i,int k) 这个有参数的构造函数,并且把2,100分别传给这个有参数的构造函数。
类似这样的问题,自己可以设置断点,一步步调试,就能看到内部是如何调用的了


作者: LostPriest    时间: 2013-2-5 18:25
许庭洲 发表于 2013-2-5 16:40
表示的是Abc构造函数可以调用this(2,100)函数里的代码,而this(2,100)就是Abc的带参的重载函数Abc(int i,in ...

我也明白了,多谢




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