是reference的,但你的swap方法有错:MyClass temp= new MyClass(lhs);
lhs= new MyClass(rhs);
rhs=temp;用拷贝构造函数来进行内容复制
lhs= new MyClass(rhs);
rhs=temp;用拷贝构造函数来进行内容复制
解决方案 »
- Java可以实现类似WCF那种双工WebService吗
- 在Java中使用什么样的类可以实现迅雷中这样的效果?
- 如何在计算器的运算符号连着被按两次取后一次呢怎么设置
- 关于密码的问题
- 请问怎样动态的调入一个类到程序里,急,在线等待!
- 谢谢dillonxie(dillonxie)提供的空间,可以下载Jbuilder开发人员指南了
- Java Web server2.0的问题
- 有没有提高java运行效率的方法,工具或是编程的技巧!
- 请教高手:在request对象中取得multipart/form-data格式的二进制数据是不是用request.getInputStream呀?
- org.hibernate.exception.GenericJDBCException: Could not execute JDBC batch updat
- 请大家看看,到底出了什么问题?是《java核心技术卷一》上的例子P26=-
- 为什么说java是跨平台的?
class TestClass{
public int c;
}public class testapp {
//Construct the application
public testapp() {
}
public void swap(TestClass tc1,TestClass tc2)
{
TestClass temptc=tc1;
tc1=tc2;
tc2=temptc;
System.out.println("tc1("+tc1+") = "+ tc1.c + " tc2("+tc2+") = "+tc2.c);
}
//Main method
public static void main(String[] args) {
TestClass tc1,tc2;
tc1=new TestClass();
tc2=new TestClass();
tc1.c=1;
tc2.c=2;
testapp ta=new testapp();
ta.swap(tc1,tc2);
System.out.println("tc1("+tc1+") = "+ tc1.c + " tc2("+tc2+") = "+tc2.c);
}
自己看看结果如何吧。特别注意一下里面的内存指针,传到swap里面已经变了,只不过其内容是指向同一个内存块而已。