当前位置: 代码迷 >> Java相关 >> 考大家一道题(把我迷糊了) 答对"有奖"!
  详细解决方案

考大家一道题(把我迷糊了) 答对"有奖"!

热度:404   发布时间:2006-05-08 19:06:00.0

理解的不错 ..


----------------解决方案--------------------------------------------------------

----------------解决方案--------------------------------------------------------
回答题目

那个题目的答案是D


----------------解决方案--------------------------------------------------------

----------------解决方案--------------------------------------------------------
呵呵!~原来这样的!~
真是谢wtyl0088的分析哦!~
----------------解决方案--------------------------------------------------------
应该是D吧。嗯,一道考参数传递,对象引用知识的不错的题。
----------------解决方案--------------------------------------------------------
显然是选d的,
首先两个块中的v,i是不同的变量。
其次刚开始another中的v的引用是从amethod()中得到的,它改掉了amethod()种的v所引用的对象的i值,而后来又重新指向了疑心对象。
了解java的引用和参数传递机制以及变量的作用域这道题应该是相当简单的。
----------------解决方案--------------------------------------------------------
显然选d。
了解java中传递参数机制以及变量的作用域就相当简单了。

----------------解决方案--------------------------------------------------------
受教,看来在C里面学的指针概念还能用上
----------------解决方案--------------------------------------------------------

我认为是
class Test{
public int i=10;
}
public class ObParm{
public static void main(String argv[]){
ObParm o=new ObParm();
o.amethod();
}
public void amethod(){
int i=99;
Test v=new Test();
v.i=30;//重新赋值
another(v,i);
System.out.println(v.i);//所以输出是30
}
public void another(Test v, int i){
i=0;
v.i=20;
Test vh=new Test();
v=vh;//此处再重新赋值,变为原来的值10
System.out.println(v.i+" "+i);
}
}
所以我认为是A


----------------解决方案--------------------------------------------------------
  相关解决方案