class Mouse{
private String name;
private int age;
Mouse(String name,int age){
this.name=name; this.age=age;
}
public void getSong(String belongid){
System.out.println("被猫咪咬过之后老鼠的声音是"+belongid);
}
public void setName(String name){
this.name=name;
}
public String getName(){
return name;
}
public void setAge(int age){
this.age=age;
}
public int getAge(){
return age;
}
@Override
public String toString() {
// TODO Auto-generated method stub
return name+","+age;
}
}
class Cat {
String name;
int age;
Cat(String name,int age)
{
this.name=name;
this.age=age;
}
public void Animal(String name,int age){
this.name=name;
this.age=age;
}
public void getSong(String name,int age){
System.out.println(name+"的年龄"+age+",他的叫声是这个声音还行吧!");
}
public void setName(String name){
this.name=name;
}
public String getName(){
return name;
}
public void setAge(int age){
this.age=age;
}
public int getAge(){
return age;
}
@Override
public String toString() {
// TODO Auto-generated method stub
return name+","+age;
}
}
如果你可以理解,就改改这个代码,他就是你没有考虑到的情况作者: 郑世光 时间: 2012-8-31 07:06
两种方式的效率差不多,但在内存上有点区别。
对于while循环,迭代器的定义Iterator it = list.iterator();是在while循环外,所以当循环结束后引用it还在内存中。
而在for循环中,迭代器的定义Iterator ite= list.iterator();是在for循环内,是局部变量,当for循环结束后就没有了。所以建议用for循环作者: 黄珊珊 时间: 2012-8-31 07:09
//方式一:
Iterator it = list.iterator(); //it指向一个对象,循环结束后it还留在内存中,它在内存中代表对象也在内存中,可这时迭代器已经用完结束了,这就没意义了。
while(it.hasNext()){
String s = (String) it.next();
//处理数据
}
//方式二;
for(Iterator ite =list.iterator();ite.hasNext();) //这里的ite是for局部变量,for循环结束后,ite就被释放了。所以出于内存管理的考虑,for循环比较优一些。
{
String s = (String) ite.next();
//处理数据
}