易截截图软件、单文件、免安装、纯绿色、仅160KB

java基础问题疑惑

12、分析下面的代码,其输出结果是( )。
  1. public class Test {
  2. public static void main (String [] args) {
  3. string foo = "blue";
  4. string bar = foo;
  5. foo = "green";
  6. System.out.printIn(bar);
  7. }
  8. }
  A. 一个异常抛出
  B. 代码无法编译
  C. null
  D. blue
  E. green
  知识点列表:4.1 系统定义的类(包)。
正确答案是选择D,我是选择E,我是认为在第四行,bar不是已经引用了foo的内存地址,然后又把”green“赋予给foo,不就相当与给foo里"blue"重新赋予green值吗,我搞混了,望高手请教下
string bar = foo;
这句话只是把 foo的值"blue"赋值上去
而不是地址啊,
你可以在第4句后面加
System.out.println(foo.equals(bar));
System.out.println(foo==bar);
第一个打印出true,第二个为false
表示值一样,而指向的内存地址不一样


答案应该选D

bar不是已经引用了foo的内存地址

bar和foo的内存地址是不同的
他们都指向相同的内容blue

之后foo的内容变成了green

但bar的内容还是blue

这题跟下面的道理是一样的:
Java code:
public static void change(String s) {
s = "222";
}

public static void main(String[] args) {
String s = "111";


相关问答:

java如何控制远程Linux重启

我目前在本地的linux上写了一个swing的界面,想通过这个界面来控制其它电脑的linux重启。
我知道用Runtime.getRuntime().exec("shutdown -r");可以控制本机Linux重启,但是怎么控制远程的linux重启呢? ......

linux下java调用C++库中函数的问题

不知道是什么原因,我该如何处理,请大虾们指教了,小弟在此谢过。。。。
错误信息如下:
The program being debugged was signaled while in a function called from GDB.
GDB has restored the context t ......

jsp页面获取session的问题 - Java / Java EE

我在jsp页面存上一个session,本页面还可以取出值来.
但是一刷新,或者打开新的页面就取不出值来了.
奇怪的是,我测试另一个程序时候
在jsp页面存上一个session,本页面可以取出值来,刷新或打开新页面值能取出来了.
......

java线程问题

java问题
悬赏分:0 - 离问题结束还有 14 天 22 小时
public class ThreadPrint{

static Thread makeThread(final String id,boolean doemon)
{

Thread t=new Thread(id){

public ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号