当前位置:首页 >> 数学 >> 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基础测试题 - java基础测试题、笔试题、java程序员面试... java基础测试题_计算机软件及应用_IT/计算机_专业资料。java基础测试题、笔试题、java程序员面试 ...

java学习笔记课后选择答案整理.doc

标签: 学习笔记| java| java学习笔记课后选择答案整理_理学_高等教育_教育专区。java学习笔记8 课后选择题答案 第一章 1 哪个组织负责监督审察 Java 相关技术...

java教学大纲.doc

java教学大纲 - 程序设计》 《Jav 程序设计》教学大纲 一、课程性质与教学目的 课程性质: 课程性质 《Java 程序设计》是计算机软件技术专业的一门职业技术课程,本...

《java程序设计》复习资料.doc

java程序设计》复习资料 - JAVA 程序设计复习资料 《Java 程序设

java基本语法_图文.ppt

java基本语法 - 第二章、java基本语法 1、标识符、关键字 2、数据类型

java答案第六章.doc

java答案第六章 - Java 语言程序设计 第六章课后习题答案 1.将本章例

java专业术语.doc

java专业术语 - 1.API:Java ApplicationProgram

java.doc

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

java资料.doc

java资料 - 第一章 Java 导论 1.1 什么是 java 基于 internet 的应用程序的首选语言. 1.2 java 特点 1.面向对象的程序设计语言 2.特别适合在网络应用开...

Java23种设计模式(总结).doc

类图 9 Java 设计模式(疯狂 Java 联盟版) 例子 Buil*er p

Java语言基础.doc

Java语言基础 - 1.1 Java 标识符有什么规定和特点? 在源程序设计中,绝大多数语言都采用标识符,在 Java 程序设计中,也允许 程序员采用标识符来对变量、方法和...

java.doc

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

关于java中i=i++的解释.doc

关于java中i=i++的解释 - 下面我将针对上次课程中,关于 i++的问题给

java必备单词.doc

java必备单词 - 黑马预备役 Java 英文单词 Java 基础常见英语词汇

Java命令解释大全.doc

Java命令解释大全 - 经过搜集整理出来的文档,方便查阅、学习,内容基本覆盖了

Java基础题库.doc

Java基础题库 - 1.Java 属于以下哪种语言?(C) A. 机器语言 B

java中extends与implements的区别.doc

java中extends与implements的区别 - JAVA 中 exte

java面向对象程序例子.txt

java面向对象程序例子 - 之前我在网上查找java习题时发现一个现象,很多提供习题的人以一种错误的观念来对待java他们将C语言的习题来当做java的习题,然后让...

java多选题.txt

java多选题 - 多选题 1、下列选项代码正确的有( )。 A、 int i=0...... “OK”); 解答:B, D 知识点:3.3 Java语言算术运算符、关系运算符、逻辑运算符...

更多相关标签:
网站地图

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