【发布时间】:2020-04-14 11:15:27
【问题描述】:
我在添加上面提到的两个时遇到了一些麻烦。我有两节课。员工和公司。
员工类包含一些关于员工的信息、实例变量,包括他们的姓名、日期、numOfSales 等。还有一些方法,如 setName、getName 等。
Company 类创建一个空列表。然后它有一个从文本文件中读取员工列表的方法——这就是列表被填充的方式。
我需要做的是:按他们的 numOfSales 对列表进行排序。我首先需要修改员工类,使其实现 Comparable 接口。
public class Employee implements Comparable<Company>
我不确定公司或员工是否应该去那里^ ?但是当我尝试任何一个时,我都会收到错误消息“Employee 不是抽象的,并且不会覆盖 java.lang.Comparable 中的抽象方法 CompareTo”我在这里做错了什么?我不能更改任何类,不能将它们更改为 abstract 或任何东西,我不能添加任何新的。
然后我需要写一个 compareTo() 方法,我把它放在员工类中?这将允许员工按其 numOfSales 实例变量存储的值的升序排序。
【问题讨论】:
-
应该是
public class Employee implements Comparable<Employee>,你应该实现public int compareTo(Employee other)。 -
@Eran 我也试过了,它仍然给出相同的错误消息,说 Employee 不是抽象的。可能是因为我没有写我的比较方法? compareTo() 方法是在构造函数和实例变量之前还是之后写的?
-
@Nicole 没关系,这是风格问题。但是,通常首先声明实例变量,然后是构造函数,然后是方法。
标签: java comparable