当前位置:首页 >> 数学 >> 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自学教程(史上最全)_图文.ppt

JAVA自学教程(史上最全) - JAVA自学教程适合没有基础的同学... JAVA自学教程(史上最全)_计算机软件及应用_IT/计算机_专业资料。JAVA自学教程适合没有基础的同学 ...

java.doc

java - 试卷编号:172 所属语言:Java 试卷方案:Java 毕业重修

java试题及答案.doc

java试题及答案 - 一、单项选择题(每题 2 分,共 20 分) 1、Java 语言是( D ) A、面向问题的解释型高级编程语言 B、面向机器的低级编程语言 C、面向过程...

java 简介_图文.ppt

java 简介 - java 语言程序设计 1 教材 ? ? ? ? ? ? 《The Java Tutorial》 SUN电子教程 《Java语言导学》 Mary Campinoe ...

Java二级考试模拟试题.pdf

Java二级考试模拟试题 - 1 1 57. 在 Java 语言中,类 Stud

java学习报告.pdf

java学习报告 - JAVA 实习报告 摘要: 古人有云:“纸上得来终觉浅,绝

JAVA基础知识学习(零基础学习)_图文.ppt

JAVA基础知识学习(零基础学习)_计算机软件及应用_IT/计算机_专业资料。Java初学者怎么学Java(指导) ...

java版2048.doc

java版2048 - 1、图形用户界面:2048 的最大特点就是玩家对图形界面

《Java基础入门》_课后习题答案.doc

Java基础入门》_课后习题答案 - 《Java 基础入门》课后习题答案 第1章 Java 开发入门 一、填空题 1、 Java EE、Java SE、Java ME 2、 JRE 3、 ja...

javaS1复习.pdf

javaS1复习 - 第一套 1.分析如下 Java 代码,Avg 的值为( C

java课后习题答案及部分作业答案.doc

java课后习题答案及部分作业答案 - 第一章 Java 概述 一、选择题 1、 下面哪个是在 Dos 命令提示符下编译 Java 程序的命令?( A ) A. javac B. java C....

java填空.doc

java填空 - Java 填空题 1、JPanel 的默认布局管理器是 Flo

Java实验1.doc

Java实验1 - 实验 1 Java SDK 开发环境应用入门及学习编写 Java 方法 一、实验目的: 1、了解 Java SDK 的特点。 2、学习用 Java SDK 编写简单的 Jav...

java9新特性_图文.ppt

java9新特性 - 技术分享 姓名: 导师: 班级: 专业: --Java 9 PART ONE 新特性列表 Java 9 的模块化...

JAVA技术试题+答案.pdf

JAVA技术试题+答案 - Java 技术:综合练习题 一、选择题。 1.编译 Java Applet 源程序文件产生的字节码文件的扩展名为( )。 A、java B、class C、html ...

Java10_图文.ppt

Java10 - Java程序设计教程 第十章 图形处理 本章主要内容 java坐标系 ? java.awt. Graphics类 ? 图形的颜色控制 ? 图形的字体控制 ? 绘图模式控制...

面试技巧-Java_图文.ppt

面试技巧-Java - 中软就业指导课程 面试技巧 企业合作沈维 课程内容 面

java.doc

java - 10.14.1 实验 1 分析成绩单 1.实验目的 本实验的目的是

JAVA语言基础教程.pdf

JAVA语言基础教程 - JAVA 教程 第一讲 Java 语言概述(4) 1.2.5 java 平台-不断扩展的计算平台 java 不仅是编程语言, 还是一个开发平台, java 技术给程序...

JAVA.doc

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

更多相关标签:
网站地图

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