谁给我做下这个JAVA基础题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了谁给我做下这个JAVA基础题相关的知识,希望对你有一定的参考价值。
1,定义一个接口Assaultable(可攻击的),该接口有一个抽象方法attack()。
2,定义一个接口Mobile(可移动的),该接口有一个抽象方法move()。
3,定义一个抽象类Weapon,实现Assaultable接口和Mobile接口,但并没有给出具体的
实现方法。
4,定义3个类:Tank,Flighter,WarShip都继承自Weapon,分别用不同的方式实现Weapon
类中的抽象方法。
5,写一个类Army,代表一支军队,这个类有一个属性是Weapon数组w(用来存储该军队
所拥有的所有武器);该类还提供一个构造方法,在构造方法里通过传一个int类型的
参数来限定该类所能拥有的最大武器数量,并用这一大小来初始化数组w。该类还提供
一个方法addWeapon(Weapon wa),表示把参数wa所代表的武器加入到数组w中。
在这个类中还定义两个方法attackAll()和moveAll(),让w数组中的所有武器攻击和移动。
6,写一个主方法去测试以上程序。
public class NotSimple
public static void main(String[] args)
Army a = new Army(3);
a.addWeapon(new Tank());
a.addWeapon(new Flighter());
a.addWeapon(new WarShip());
// a.addWeapon(new WarShip());
a.attacAll();
a.moveAll();
interface Assaultable
abstract public void attack();
interface Mobile
abstract public void move();
abstract class Weapon implements Assaultable, Mobile
class Tank extends Weapon
public void attack()
System.out.println("Tank attacks");
public void move()
System.out.println("Tank moves");
class Flighter extends Weapon
public void attack()
System.out.println("Flighter attacks");
public void move()
System.out.println("Flighter moves");
class WarShip extends Weapon
public void attack()
System.out.println("WarShip attacks");
public void move()
System.out.println("WarShip moves");
class Army
private Weapon[] w = null;
private int size = 0;
private Army()
public Army(int i)
w = new Weapon[i];
public void addWeapon(Weapon weapon)
if (size >= w.length)
System.out.println("军队装备足够了!");
return;
else
w[size] = weapon;
size++;
public void attacAll()
for (Weapon wea : w)
if (wea != null)
wea.attack();
public void moveAll()
for (Weapon wea : w)
if (wea != null)
wea.move();
参考技术A java?
j2me 吧!!! 参考技术B 这个东西基础吗?反正一长就懒得看了 呵呵
谁给我一个让网站实现更换主题的方案
自己开发网站,想让大部分代码不改变,通过更换主题文件的办法,来实现更换网站主题。
各位给个方案呗。
这样改主题,很单调的,我是想主题改变后,整个布局都跟着改变,如何实现?
方案二:做几套风格不一的样式表,替换样式表即可。
方案三:方案一 + 方案二。
这都不用改代码。
以上是关于谁给我做下这个JAVA基础题的主要内容,如果未能解决你的问题,请参考以下文章