java看程序说结果题【求助】

[复制链接]
查看11 | 回复3 | 2009-4-18 04:59:03 | 显示全部楼层 |阅读模式
(13).下列程序中构造了一个 SET并且调用其方法 add(),输出结果是 ( 1 )
public class A{
public int hashCode(){return 1;}
public Boolean equals(Object b){return true}
public static void main(String args[]){ Set set=new HashSet();
set.add(new A());
set.add(new A());
set.add(new A());
System.out.println(set.size());
}
}
(14).下列程序的运行结果是 (26)
class A{
class Dog{
private String name;
private int age;
public int step;
Dog(String s,int a)
{
name=s;
age=a;
step=0;
}
public void run(Dog fast)
{
fast.step++;
}
}
public static void main (String args[])
{
a=new A();
Dog d=a.new Dog("Tom",3);
d.step=25;
d.run(d);
System.out.println(d.step);
}
}

回复

使用道具 举报

千问 | 2009-4-18 04:59:03 | 显示全部楼层
1.HashSet中不允许有重复的元素,添加(add(new A()))元素的时候,对于重复的元素,只在HashSet中保留一个副本。2.Dog d=a.new Dog("Tom",3); 通过构造函数产生一个Dog对象d,此时d中,name=Tom,age=3,step=0d.step=25; 给d中step属性赋值,此时d中,name=Tom,age=3,step=25d.run(d); 调用函数run(Dog fast);此时d中,name=Tom,age=3,step=26...
回复

使用道具 举报

千问 | 2009-4-18 04:59:03 | 显示全部楼层
26d.step=25传给了引用对象 faststep++ 的值是25返回的时候是26...
回复

使用道具 举报

千问 | 2009-4-18 04:59:03 | 显示全部楼层
关于第一题补充建议看一下下面的页面http://hi.baidu.com/ou_yang_/blog/item/e870b6ecbdc3a73b27979124.html第二题落上说的就可以了...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行