当前位置:首页 >> 数学 >> Java

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,写一个主方法去测试以上程序。

interface Assaultable{//可攻击的 void attack(); } interface Mobile{//可移动的 void move(); } abstract class public public } class Tank extends Weapon{ public void attack(){ System.out.println("坦克攻击!!!"); } public } } class Flighter extends Weapon{ public void attack(){ System.out.println("战斗机攻击!!!"); } public void move(){ void move(){ Weapon implements Assaultable,Mobile {

void attack(){} void move(){}

System.out.println("坦克移动!!!");

System.out.println("战斗机移动!!!"); } } class Warship extends Weapon{ public void attack(){ System.out.println("战船攻击!!!"); } public void move(){ System.out.println("战船移动!!!"); } } class Army{ Weapon[] w; int max; int j=0; public int getMax() { return max; } public void setMax(int max) { this.max = max; } public Army(int max){ w= new Weapon[max]; this.max=max; System.out.println("您最多拥有"+max+"个武器!!!") ; } public void addWeapon(Weapon wa){ if(j<getMax()){ System.out.println("武器库足够!"+"已增加"+(j+1)+"个武器"); w[j]=wa; j++; } else{ System.out.println("警告:武器库已满!!!不能增加武器!!!"); } }

public void attackAll(){ System.out.println(); System.out.println("所有武器准备战斗!!!"); for(int i=0;i<w.length;i++){ System.out.print((i+1)+"号"); w[i].attack(); } } public void moveAll(){ System.out.println(); System.out.println("所有武器准备移动!!!"); for(int i=0;i<w.length;i++){ System.out.print((i+1)+"号"); w[i].move(); } } } public class Test1 { public static void main(String[] args){ Army a = new Army(4); a.addWeapon(new Tank()); a.addWeapon(new Flighter()); a.addWeapon(new Warship()); a.addWeapon(new Warship()); a.addWeapon(new Warship()); a.moveAll(); a.attackAll(); } }


赞助商链接
更多相关文档:

JAVA

3.实验代码服务器: import java.io.*; import java.net.*; public class EchoServer { private int port=9999; private DatagramSocket socket; public Echo...

Java基础测试题

编译 Java 程序的命令是: A、appletviewer C、java B、javac D、javadoc B、void mmm(int i) D、int mm() (方法名不一样) ( B ) 5.编译 Java 源...

javabase

(10*(2-8)+10)/(5-5*2)在 JAVA 语言中,上面的表达式计算结果为(选一项) A、-10 B、10 C、30 D、-32 解答过程: 从左到右,先乘除,后加减 ...

Java填空题

Java填空题 - Java 填空题 1 一个 Java 源程序是由若干个 类 组成。 2 class 是 Java 的关键字,用来定义类。 3 Java 应用程序中有多个类时,java 命令后...

《Java基础入门》_课后习题

博学谷——让 IT 教学更简单,让 IT 学习更有效 《Java 基础入门》课后习题第1章 Java 开发入门一、填空题 1、Java 的三大体系分别是_JavaSE___、_JavaEE__...

java

java - 10.14.1 实验 1 分析成绩单 1.实验目的 本实验的目的是让学生掌握字符输入、输出流以及缓冲输入、输出流用法。 2.实验要求 现在有如下格式的成绩单(...

Java_EE复习

sendRedirect(); 9.在 JSP 中,以下的 page 指令设置了使用的脚本语言是 Java,且导入了 java.rmi.*和 java.util.*包.正确的是(). (选择一项) D a) <%...

java学习笔记整理(齐全)

Java 详细笔记 java 平台 1、J2SE java 开发平台标准版 2、J2EE java 开发平台企业版 java 程序需要在虚拟机上才可以运行,换言之只要有虚拟机的系统都可以运行 ...

JAVA试题及答案(50道选择题)

JAVA试题及答案(50道选择题) - 选择题 1、 JAVA 所定义的版本中不包括: (D A、 JAVA2 EE B、 JAVA2 Card C、 JAVA2 ME D、 JAVA2 HE ...

java_se课后题答案(张金政)

java_se课后题答案(张金政) - 1. 编译 java application 源程序文件将产生相应的字节码文件,这些字节码文件别的扩 展名为.class 2. 执行一个 java 程序 ...

更多相关标签:
网站地图

文档资料共享网 nexoncn.com copyright ©right 2010-2020。
文档资料共享网内容来自网络,如有侵犯请联系客服。email:zhit325@126.com