黑马程序员技术交流社区

标题: 编译和运行下面代码时显示的结果是()。 [打印本页]

作者: 郭炜    时间: 2012-3-14 11:44
标题: 编译和运行下面代码时显示的结果是()。
编译和运行下面代码时显示的结果是()。
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

作者: 张希强    时间: 2012-3-14 11:48
 A、s = String call
     s = i = 47
作者: 张希强    时间: 2012-3-14 11:50
this("i = " + i);
这句话相当于调用了public ThisConstructorCall(String s)构造方法,所以会输出s = i = 47。
作者: 潘许超    时间: 2012-3-14 11:52
运行结果是这样的s = String call
                              s = i = 47
另外注意你里边的小括号都是中文的




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