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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 汪冰伦 于 2015-10-23 20:27 编辑

希望有老师或者同学帮忙看看,最好给出思路,谢谢了!
public class ThisConstructorCall {
public ThisConstructorCall(String s) {
  System.out.println("s = " + s);
}
public ThisConstructorCall(int i) {
  this("i = " + i);
}
public static void main(String args[]) {
  new ThisConstructorCall("String call");
  new ThisConstructorCall(47);
}
}
 A、s = String call
     s = i = 47
 B、String call
     s = i
 C、s = String call
     i = 47
 D、String call
     s = i = 47

3 个回复

倒序浏览
第二个new参数是47,调用第二个构造方法,但是第二个构造方法里的this("i="+i)表示还要调用第一个参数是字符串的构造方法,因为里面有"i="+...就表示它不管加什么都是个字符串,把"i=47"这个字符串以参数形式传给第一个构造方法,最后当然输出s = i = 47
回复 使用道具 举报
好多好多,看不懂
回复 使用道具 举报
感觉是A啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马