java列表用什么接口,接口列表 - java

We have been asked to replace ArrayList and use interface List instead in two classes. I've been trying but to no avail. If someone could help with one of the classes to show how it is done, I would be very appreciative. Thanks in advance.

import java.util.ArrayList;

public abstract class Animal

{

// Whether the animal is alive or not.

private boolean alive;

// The animal's field.

private Field field;

// The animal's position in the field.

private Location location;

/**

* Create a new animal at location in field.

*

* @param field The field currently occupied.

* @param location The location within the field.

*/

public Animal(Field field, Location location)

{

alive = true;

this.field = field;

setLocation(location);

}

/**

* Make this animal act - that is: make it do

* whatever it wants/needs to do.

* @param newAnimals A list to add newly born animals to.

*/

abstract public void act(ArrayList newAnimals);

/**

解决方案

"List" is an interface, therefore it cannot be instantiated. Replace all declarations that are now ArrayList with List, where x is the class contained by the container. But, leave the instantiation the same (List = new ArrayList(); is valid). It's a simple change but the code you provided is clearly incomplete.

At the risk of sounding like a troll, you should also tag this "homework" or seek employment elsewhere unless you strongly feel that this change is justified in your code.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值