3

假设我有一个 ArrayList 定义如下:

ArrayList<Employee> listWithItems=new ArrayList();

我想知道是否有一种方法可以创建自定义方法并从创建的 ArrayList 中调用它。我的意思是,例如,如果我创建一个计算税收的方法,我想这样称呼它:

listWithItems.computeTaxes();

有没有办法在 Java 中扩展 ArrayList 以实现自定义用户方法?我的意思是,如果有类似的 ArrayList 接口,我可以将它用于这些目的。

谢谢

4

2 回答 2

8

是的,您可以扩展(子类)ArrayList。

但这不是一个好主意。您应该为您的业务对象定义自己的类/接口。这一切都是为了关注点分离,让每个班级都只做一件事。通用容器(例如 ArrayList)不应该处理税收。

您可以将 ArrayList 包装到您自己的类中,或者只使用一个将列表作为参数的方法。

taxCalculation.computeTaxes(listWithItems);
于 2013-09-13T01:10:41.747 回答
0

是的,您可以使用List接口并在新类中包装ArrayList。但是不要扩展它,正如 Thilo 所评论的那样,这不是一个好主意。

于 2013-09-13T01:55:50.617 回答