不明白这个输出结果,请教各位 输出的是正确的因为你的方法虽能用标签但你方法得到的值不是c1.x和c2.x 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Card c1 = new Card(); c1.x 为对象c1的成员变量 要修改他只能 c1.x=?; 如果不用swap()这个方法,而直接用Card temp = c1; c1 =c2; c2 = temp;结果就是65。 关于传参的问题这是我在另外一个帖子里面写的,拷贝过来占点篇幅:对于基本类型没问题,传值;对象传引用,这个引用是什么呢?也就是一个地址的数值。所以有人认为,java就是传值。这其实就是个概念问题,什么叫值,什么叫址。没有值,址用什么来体现。这个争论已经有很多年了,我认为,理解了就行了,不用去争论这些没有意义的东西。 执行swap后c1和c2引用同另一个对象,所以值是相同的。:) 看下面这段代码你就会明白了: public class MethodArgTest { //int x; static private void swap(int c1, int c2) { //Card c1 = new Card(); c1.x = 5; //Card c2 = new Card(); c2.x = 6; int temp = c1; c1 = c2; c2 = temp; System.out.println(c1 + "" + c2); } public static void main(String[] args) { int c1 =5; int c2 =6; swap(c1, c2); //c1=c2,用这个语句,输出的是66 //Card temp = c1; c1 =c2; c2 = temp; //swap(); System.out.println(c1 + "" + c2); } }这个例子说明java中包括Primitive在内所有的传参都只是传的Referrence,而不是Object本身。 ireport中子报表显示问题 在jtree中我重写了类TreeNode,怎么调用这个类 老问题,CLASSPATH参数如何设置? java examples in a nutshell 上的例子,运行通不过,进来看看 英文好的请进~ applet能调用页面中的css吗? Java教学视频录象免费下载又更新了!!! 使用jbuilder中的一个问题 请教大家这样一个问题: 利用JDBC-ODBC能不能向数据库中存储二进制数据 关于图像!生成缩略图! 高兴,分享我的(源码)成果
Card temp = c1; c1 =c2; c2 = temp;结果就是65。
//int x;
static private void swap(int c1, int c2)
{
//Card c1 = new Card(); c1.x = 5;
//Card c2 = new Card(); c2.x = 6;
int temp = c1; c1 = c2; c2 = temp;
System.out.println(c1 + "" + c2);
}
public static void main(String[] args) { int c1 =5;
int c2 =6;
swap(c1, c2);
//c1=c2,用这个语句,输出的是66
//Card temp = c1; c1 =c2; c2 = temp;
//swap();
System.out.println(c1 + "" + c2);
} }这个例子说明java中包括Primitive在内所有的传参都只是传的Referrence,而不是Object本身。