我是OOP的新手,我正在尝试制作一个简单的游戏来帮助我学习Java。我的想法是制造一个敌人的阶级,但我希望敌人的数量是动态的。我尝试将新对象作为数组而不是手动键入attker1 attker2等等......
Mole attacker[3];
attacker[0] = new Mole();
attacker[1] = new Mole();
attacker[2] = new Mole();
我希望你能理解我想要做的事情。我试过搜索谷歌,但我一直在学习如何用常规数据类型(即int,char等)制作数组。无论我想做什么,我都想知道它叫什么。如果有更好的方法,我也会听。
谢谢。
答案 0 :(得分:5)
的ArrayList!这些是非常适合您使用的动态阵列。检查出来:http://developer.android.com/reference/java/util/ArrayList.html
答案 1 :(得分:3)
对象数组非常精细(实际上,通常比原始数据类型的简单数组使用更多)。
所以,如果你想让敌人的数量是动态的,你可能想要使用一个Container类 - 特别是一个可调整大小的数组。查看类Vector,ArrayList等
另请注意(我看到Android标记)在绘图循环中创建新对象会导致垃圾收集器被调用并在帧速率工作时减慢帧速率 - 请注意。
您所拥有的内容的变体:
//create enemies
Mole enemies[3];
enemies[0] = new Mole();
enemies[1] = new Mole();
enemies[2] = new Mole();
//an enemy dies!
enemies[1] = null;
//and comes back to life!
enemies[1] = new Mole();
//do something with your enemies....
答案 2 :(得分:1)
假设您正在讨论在 Java 中进行此操作。 你试过搜索吗? 对象列表, 自定义类列表 ?
看看以下内容:
Create List from Java Object Array Example
还有其他方法可以执行此操作,例如 Dictionary , ArrayList ,或者如果您的对象实现其他接口,您可以选择也可以使用其他方法,例如 HashSet 等。
希望您通过列表或 ArrayList 等获得良好的开端
答案 3 :(得分:0)
您应该使用集合或设置
http://download.oracle.com/javase/1.4.2/docs/api/java/util/List.html
http://download.oracle.com/javase/1.4.2/docs/api/java/util/HashSet.html
开始使用,专家将在以后授权你进行鼹鼠灭绝;)