【发布时间】:2015-12-08 10:05:57
【问题描述】:
我创建了一个返回项目 Hashmap 的类:
public class PaymentMap implements Serializable, Map<String, PaymentItem>
但随着我的工作,我的生活变得比它需要的更困难。该类只需要是一个 ArrayList。所以我将类定义为:
public class Payments implements Serializable, Collection<PaymentItem>{
这行得通。抱歉在发帖前没有做足够的搜索。
但我得到了错误:
ArrayList类型不能是Payments的超接口,超接口必须是接口。
我做了一些搜索,但不知道如何定义类语句。
【问题讨论】:
-
您可以删除您的问题,删除按钮在编辑按钮旁边。不过不要夸大这个问题。
-
一个类不返回任何东西,它是一些具有方法和属性集合的对象的表示。当一个类实现某些东西时,那个“东西”必须是一个接口,这样做你就声称这个类是那个接口的类型。
-
@Bill 如果您希望返回一个 ArrayList,那么(getter 或其他)方法可能是最简单的。如果您希望拥有一组更独特的行为,您可能会选择子类/私有类,它可以implement or extend 其他接口。我一般不会每天创建太多interfaces,而是专注于类来创建具有独特属性和行为的对象。