公共void并在子类中返回ArrayList

时间:2017-11-05 10:53:04

标签: java arraylist subclass void

我刚开始使用子类等。 在Java中,我正在尝试创建一个简单的程序,并且我想使用“public void”来打印出来 子类中的ArrayList。

我有主要类“Person”和子类Convenor和Student。 在类召集人我试图打印一个ArrayList与学生 - 课程成员和一个字符串 向终端发布公告。

到目前为止我所拥有的:

public class Convenor extends Person
{

private String kompetanse;

/**
 * Constructor for objects of class Student
 */
public Convenor(String name, String kompetanse)
{
    // initialise instance variables
    super(name);
    this.kompetanse = kompetanse;
}


public String getKompetanse()
{
    return kompetanse;
}


public void announce(ArrayList<Student> courseMembers, String announcement)
{
for (Person student : courseMembers) {
System.out.println(courseMembers);
}
System.out.println(announcement);
}

}

编辑:(抱歉它没有包含在原帖中) 我需要有关公共无效宣告方法的帮助。我不知道里面有什么可以使它工作并执行我想要的任务(我开始使用for循环,但我真的不知道该怎么做,根本)使它打印出ArrayList和公告(字符串)。

3 个答案:

答案 0 :(得分:1)

我想你要替换:

for (Person student : courseMembers) {
    System.out.println(courseMembers);
}

使用:

for (Person student : courseMembers) {
    System.out.println(student);
}

否则,它会多次打印整个列表。

现在您要确保类Student(和/或Person Person)覆盖toString(),以便它打印出有意义的内容。

答案 1 :(得分:0)

System.out.println(courseMembers);会为您提供人类无法读取的数据,因为courseMembers是您的班级Student的ArrayList。您可能希望访问每个courseMember的属性,例如System.out.println(student.getName())如果你使用吸气剂。

答案 2 :(得分:0)

我不确切地知道你的意思,但看看这个......

替换 System.out.println(courseMembers);

通过像simimlar这样的东西         System.out.println(student.getName);

应打印courseMembers Array

的每个学生的姓名