【发布时间】:2015-02-07 20:35:46
【问题描述】:
我是一个相当新的程序员,我有一个问题。
我正在做一个狗注册,它必须至少有两个类(一个用于狗,一个用于实际程序),并且狗的属性必须是私有的。狗寄存器也必须使用数组列表来存储狗信息和添加/删除狗等等。
我的问题是,当我想向用户显示列表的所有元素时,我无法弄清楚如何让狗的属性被正确收听。
这是(缩小的)现在的样子:
public class Dog {
private String name;
public Hund(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
setName(name);
}
public void writeOut() {
System.out.print(getName())
}
还有这个类:主程序
import java.util.ArrayList;
public class DogRegister {
private static ArrayList<Dog> dogs = new ArrayList<Dog>();
//The part with the program and menus and such
for(int ix = 0; ix < dogs.size(); ix++){
String elementName = dogs.get(ix);
elementName.writeOut();
}
}
我在最后一部分尝试做的是使用“writeOut”方法,以便写出狗的实际名称(和其他属性),而不是我在测试时得到的“Dog@2ad1e832”它与:
System.out.println(dogs.get(ix));
【问题讨论】:
-
dogs.get(ix);应该返回 Dog,而不是 String。除了这一行之外,保持相同的代码: Dog dog = dogs.get(ix);它会工作
标签: java arrays arraylist element private