Topic: 求助!!!把对象作为参数传递给方法!

  Print this page

1.求助!!!把对象作为参数传递给方法! Copy to clipboard
Posted by: lfcjecboss
Posted on: 2005-11-23 09:28

对于如下的程序,各位能否帮我详细的解释一下过程?谢谢!!
class Test{
int a,b;
Test(int i,int j){
a=i;
b=j;
}
boolean equals(Test o){
if(o.a==a && o.b==b)
return true;
else return false;
}
}
class PassOb{
public static void main(String args[]){
Test ob1=new Test(100,22);
Test ob2=new Test(100,22);
Test ob3=new Test(-1,-1);
System.out.println("ob1==ob2:"+ob1.equals(ob2));

System.out.println("ob1==ob3:"+ob1.equals(ob3));
}
}

2.Re:求助!!!把对象作为参数传递给方法! [Re: lfcjecboss] Copy to clipboard
Posted by: wangfuyin
Posted on: 2005-11-23 11:34

Smile

3.Re:求助!!!把对象作为参数传递给方法! [Re: lfcjecboss] Copy to clipboard
Posted by: kulatasana
Posted on: 2005-11-28 16:01

有什么问题?
看不出lz问什么

4.Re:求助!!!把对象作为参数传递给方法! [Re: lfcjecboss] Copy to clipboard
Posted by: freego1026
Posted on: 2005-12-03 23:52

不知道你问什么呢?
boolean equals(Test o){
if(o.a==a && o.b==b)
return true;
else return false;
}
}
这个函数有用吗这里,后面也没有调用啊!equals()方法本身就是判断两个对象是否相等的,你写的哪个函数不知道有什么意义啊!
不过对象作为参数的时候在函数中只能改变对象的状态,不能改变对象的引用!
class Test
{
int a,b;
Test(int i,int j)
{
a=i;
b=j;
}
void change(Test o)
{
o.a=30;
o.b=40;
}
public static void main(String args[])
{
Test obj=new Test obj(15,20);
System.out.println("obj.a="+obj.a+"\t"+"obj.b="+obj.b);
obj.change(obj);
System.out.println("obj.a="+obj.a+"\t"+"obj.b="+obj.b);
}
}
这样两次的值是不一样的!对象作为参数的时候在函数中只能改变对象的状态

5.Re:求助!!!把对象作为参数传递给方法! [Re: lfcjecboss] Copy to clipboard
Posted by: freego1026
Posted on: 2005-12-04 00:18

class Test{
int a,b;
Test(int i,int j){ //带两个整型参数的构造函数
a=i;
b=j;
}
boolean equals(Test o){ //判断两个对象的实例变量是否相等
//ob1.equals(ob2) 实际上就是说如果obj1.a==obj2.a&&obj1.b==obj2.b
//如果相等就返回ture,反之false
if(o.a==a && o.b==b)
return true;
else return false;
}
}
class PassOb{
public static void main(String args[]){
Test ob1=new Test(100,22);
Test ob2=new Test(100,22);
Test ob3=new Test(-1,-1);
System.out.println("ob1==ob2:"+ob1.equals(ob2));

System.out.println("ob1==ob3:"+ob1.equals(ob3));
}
}


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923