大神帮忙看一下这个JAVA题

下面代码是否正确?如果正确,运行后输出什么?否则请解释出现错误的原因?1publicclassTest{2publicstaticvoidmain(Stringargs[... 下面代码是否正确?如果正确,运行后输出什么?否则请解释出现错误的原因?
1 public class Test {
2 public static void main(String args[]) {
3 MyClass a = new MyClass(3);
4 MyClass b = new MyClass(6);
5 Test.swap(a,b);
6 System.out.println("a is "+ a.v +"; b is " + b.v);
7 }
8 static void swap (MyClass a , MyClass b) {
9 MyClass t = a; a=b; b=a;
11 }
12 }
13 class MyClass{
14 int v ;
15 MyClass(int v){ this.v = v; }
16 }
展开
 我来答
典勇嘉谋
2014-10-29 · TA获得超过362个赞
知道小有建树答主
回答量:308
采纳率:100%
帮助的人:140万
展开全部
正确吧,输出结果是3,6;swap方法中的MyClass a跟b不是真正的a,b对象,而是a,b对象的一份拷贝,只是引用地址相同而已,所以在方法中交换,只是两个拷贝对象进行了交换。不影响a,b对象。
匿名用户
2014-10-29
展开全部
public class Test
{
public static void main(String[] args)
{
MyClass a = new MyClass(3);
MyClass b = new MyClass(6);

Test.swap(a, b);
System.out.println(a.v + "\t" + b.v);
}
public static void swap(MyClass a, MyClass b)
{
MyClass t = a;
a = b;
b = t;
}
}

class MyClass
{
int v;
MyClass(int v)
{
this.v = v;
}
}

我的程序结果输出是3 6
不知道是不是你所编写的程序是这个
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
流浪的幽狼
2014-10-29 · TA获得超过1515个赞
知道大有可为答主
回答量:1462
采纳率:75%
帮助的人:791万
展开全部
a is 3; b is 6
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式