我有一堆不同的敌人职业,它们的移动和行为是不同的,通常屏幕上会产生多个敌人职业的示例,因为它们基本上都是随机的,所以我需要使用arraylist,这样我就可以控制每个敌人职业的行为。
但是,这给我留下了一堆数组列表:
//Example:
ArrayList<Enemy1> enemies = new ArrayList<Enemy1>();
ArrayList<Enemy2> enemies = new ArrayList<Enemy2>();
ArrayList<Enemy3> enemies = new ArrayList<Enemy3>();
ArrayList<Enemy4> enemies = new ArrayList<Enemy4>();
ArrayList<Enemy5> enemies = new ArrayList<Enemy5>();
有没有办法改变arraylist将存储的数据类型,这样我就可以清空并重用同一个arraylist的不同示例?或者别的什么,只是为了不让我的代码里有10亿个数组列表?
附加信息:我使用java处理库来做这个,不确定它是否改变了什么。
对不起,如果答案对你来说是显而易见的,请不要粗鲁。
2条答案
按热度按时间r8xiu3jd1#
您可以定义
Enemy
具有所需方法的超类as(抽象或不抽象),并扩展所有其他Enemy...
类,然后从超类访问子类:ntjbwcob2#
你所有的
EnemyX
类必须从一个接口或抽象类继承,然后可以使用List<Enemy>
可以容纳任何EnemyX
对象使用