如何从某种类型的数组列表中返回值?

时间:2014-01-31 17:59:06

标签: java class printing getter

这个程序是否仅适用于getter或print语句,或者我应该考虑采用不同的方式吗?

如果我正在使用的是基本上没有构造函数的getter,那对我来说没有意义。因此,我认为从印刷声明的角度来看,它会更有意义。我也假设我不需要上新课。

我认为如果真的那么容易,那么练习就会在教科书的早期进行:

练习129:

在下面的程序片段中,员工数据库中的每个员工都存储在ArrayList中。完成程序,以便输出所有员工的姓名。

public class MainClass
{
  public static void main( String[] args )
  {
    ArrayList<Employee> employees = new ArrayList<Employee>();

employees.add( new Teacher( "Fred Thompkins", 55, 525 ) );
employees.add( new SalesAssistant( "Eric Washington", 7, 72 ) );
employees.add( new Military( "Albert Costa", 236237, "Navy", "Seaman" ) );
employees.add( new Teacher( "Jane Austin", 724, 92 ) );
employees.add( new SalesAssistant( "Jane Black", 91, 295 ) );
employees.add( new Employee( "Scott Black", 23 ) );
employees.add( new SalesPartTime( "Janice Dell", 552, 501, 8.0 ) ); 

    for ( Employee e : employees )

    {



    }

    }
}

3 个答案:

答案 0 :(得分:2)

就像那样简单。您只需为名称创建一个getter并打印它。

for ( Employee e : employees )
{
    System.out.println(e.getName());
}

或者,您可以覆盖toString

Employee方法
@Override 
public String toString() {
     return this.name;
}

然后,你可以打电话给

for ( Employee e : employees )
{
    System.out.println(e);
}

答案 1 :(得分:0)

看起来你回答了自己的问题。你可以通过吸气剂来做到这一点。如果您在getName(超类)类中有Employee类似的方法,则下面的代码将完美运行

for ( Employee e : employees ) {
    System.out.println(e.getName());
}

答案 2 :(得分:0)

我实际上解决了它。如果单击教科书中的“显示详细信息”,则会显示已存在“getName”方法。我只需要在for循环中从可编辑部分调用它。

    for ( Employee e : employees )

{
    System.out.println(e.getName());
}

或类似的东西。

无论如何,这就是真正需要的。大声笑,它比我想象的要简单得多。