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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李东城 中级黑马   /  2013-2-5 16:35  /  1228 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 李东城 于 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)就不太明白了,能帮忙解释一下吗?

评分

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

查看全部评分

3 个回复

倒序浏览
本帖最后由 许庭洲 于 2013-2-5 16:45 编辑

表示的是Abc构造函数可以调用this(2,100)函数里的代码,而this(2,100)就是Abc的带参的重载函数Abc(int i,int k)。

评分

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

查看全部评分

回复 使用道具 举报
当你调用无参构造函数的时候,无参构造函数默认会调用 public Abc(int i,int k) 这个有参数的构造函数,并且把2,100分别传给这个有参数的构造函数。
类似这样的问题,自己可以设置断点,一步步调试,就能看到内部是如何调用的了

评分

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

查看全部评分

回复 使用道具 举报
许庭洲 发表于 2013-2-5 16:40
表示的是Abc构造函数可以调用this(2,100)函数里的代码,而this(2,100)就是Abc的带参的重载函数Abc(int i,in ...

我也明白了,多谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马