当前位置:  技术问答>java相关

***SCJP的一道题(NO.1)***

    来源: 互联网  发布时间:2015-06-19

    本文导语:  public class Foo{ public static void main(String[] args){ StringBuffer a = new StringBuffer("A"); StringBuffer b = new StringBuffer("B"); operate(a,b); System.out.println(a + "." + b); } static void operate(StringBuffer x, StringBuffer y){ x.append...

public class Foo{
public static void main(String[] args){
StringBuffer a = new StringBuffer("A");
StringBuffer b = new StringBuffer("B");
operate(a,b);
System.out.println(a + "." + b);
}

static void operate(StringBuffer x, StringBuffer y){
x.append(y);
y = x;
}
}

What is the result?
A. The code compiles and prints "A.B".
B. The code compiles and prints "A.A".
C. The code compiles and prints "B.B".
D. The code compiles and prints "AB.B".
E. The code compiles and prints "AB.AB".

正确答案为D

问题是:
我怎么觉得应该是E,
  因为当对象a与b传入operate时,执行x.append(y)后,x变为AB,也就是a也变为AB了此后把x赋给了y,当然y也是AB,那么b也应该变为AB(但正确答案的意思,好像没有发生变化)所以答案应为E呀?

   不明白,请解释一下,谢谢!

|
operate()方法中:

x引用a,调用StringBuffer的方法:append()后,会改变a的状态;

y引用b,把y再引用到x,并不会改动b引用的对象的状态。

所以选D

|
应该选d  
这是stringbuffer方法决定的,你看看一般的参考书就知道了

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • scjp考题一道 iis7站长之家
  • 我一个伙计考过SCJP一个多月了,怎么SCJP的证书还没有来呀?到哪里问去呀?
  • 过了SCJP和没过SCJP的都请进来,谢谢!
  • 我一直搞不清什么sl275与scjp1.2,scjp1.4的关系?那位能说说么
  • [提议] 既然考scjp的人这么对,提议设立scjp专栏,响应的进来领分!
  • 英文不是很好,为了考SCJP,好多地方看英文书,概念什么的比较模糊,哪有详细的中文的Java语言教程呀?最好和SCJP想符合的,别告诉我《Think in Java》呀!那本书我烦透了!
  • 谁有scjp练习题,越新越好?谢了
  • 险过scjp
  • 50分求助:哪儿能搞到SCJP的教程资料与试题资料!!!!!
  • 请推荐一些SCJP认证书籍和其他资料
  • 求助!本人下个星期考SCJP急需好的题库!高分求教!
  • —— SCJP认证相关问题 ——
  • 谁能告诉我SCJP考题的网址吗?
  • SCJP
  • 请问scjp/scjd和高程比,哪个分量重些啊?
  • *考过scjp的给个意见*
  • 在考SCJP中,很多人说的104和147指的是什么?
  • 通过了SCJP认证以后,还能干什么?
  • 寻找scjp认证考试方面的资料,培训资料和试题,谢谢!
  • 有近期过SCJP的朋友么?请进来.........


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3