如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
1,定义一个接口Assaultable(可攻击的),该接口有一个抽象方法attack()。2,定义一个接口Mobile(可移动的),该接口有一个抽象方法move()。3,定义一个抽象类Weapon,实现Assaultable接口和Mobile接口,但并没有给出具体的实现方法。4,定义3个类:Tank,Flighter,WarShip都继承自Weapon,分别用不同的方式实现Weapon类中的抽象方法。5,写一个类Army,代表一支军队,这个类有一个属性是Weapon数组w(用来存储该军队所拥有的所有武器);该类还提供一个构造方法,在构造方法里通过传一个int类型的参数来限定该类所能拥有的最大武器数量,并用这一大小来初始化数组w。该类还提供一个方法addWeapon(Weaponwa),表示把参数wa所代表的武器加入到数组w中。在这个类中还定义两个方法attackAll()和moveAll(),让w数组中的所有武器攻击和移动。6,写一个主方法去测试以上程序。interfaceAssaultable{//可攻击的voidattack();}interfaceMobile{//可移动的voidmove();}abstractclassWeaponimplementsAssaultable,Mobile{publicvoidattack(){}publicvoidmove(){}}classTankextendsWeapon{publicvoidattack(){System.out.println("坦克攻击!!!");}publicvoidmove(){System.out.println("坦克移动!!!");}}classFlighterextendsWeapon{publicvoidattack(){System.out.println("战斗机攻击!!!");}publicvoidmove(){System.out.println("战斗机移动!!!");}}classWarshipextendsWeapon{publicvoidattack(){System.out.println("战船攻击!!!");}publicvoidmove(){System.out.println("战船移动!!!");}}classArmy{Weapon[]w;intmax;intj=0;publicintgetMax(){returnmax;}publicvoidsetMax(intmax){this.max=max;}publicArmy(intmax){w=newWeapon[max];this.max=max;System.out.println("您最多拥有"+max+"个武器!!!");}publicvoidaddWeapon(Weaponwa){if(j<getMax()){System.out.println("武器库足够!"+"已增加"+(j+1)+"个武器");w[j]=wa;j++;}else{System.out.println("警告:武器库已满!!!不能增加武器!!!");}}publicvoidattackAll(){System.out.println();System.out.println("所有武器准备战斗!!!");for(inti=0;i<w.length;i++){System.out.print((i+1)+"号");w[i].attack();}}publicvoidmoveAll(){System.out.println();System.out.println("所有武器准备移动!!!");for(inti=0;i<w.length;i++){System.out.print((i+1)+"号");w[i].move();}}}publicclassTest1{publicstaticvoidmain(String[]args){Armya=newArmy(4);a.addWeapon(newTank());a.addWeapon(newFlighter());a.addWeapon(newWarship());a.addWeapon(newW