这个程序是否仅适用于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 )
{
}
}
}
答案 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());
}
或类似的东西。
无论如何,这就是真正需要的。大声笑,它比我想象的要简单得多。