题目:(1)定义一个抽象类Weapon,该抽象类有两个抽象方法attack(),move()
这两个方法分别表示武器的攻击方式和移动方式。

(2)定义3个类:Tank,Flighter,WarShip都继承自Weapon,
分别用不同的方式实现Weapon类中的抽象方法。

编写测试程序main方法,创建多个不同武器的实例。并分别调用attack()和move()方法。
能用多态尽量使用多态。
代码实现:

public class AttackTest {public static void main(String[] args) {Weapon w1 = new Tank();w1.attack();w1.move();Weapon w2 = new Flighter();w2.attack();w2.move();Weapon w3 = new WarShip();w3.attack();w3.move();}
}
//父类(武器类)
abstract class Weapon{public abstract void attack();public abstract void move();
}//子类
//坦克
class Tank extends Weapon{public  void attack(){System.out.println("坦克开炮!!");};public  void move(){System.out.println("坦克缓慢移动!");};
}
//战斗机
class Flighter extends Weapon{public  void attack(){System.out.println("战斗机狂轰乱炸!");};public  void move(){System.out.println("战斗机在天空中快速移动!");};
}
//军舰
class WarShip extends Weapon{public  void attack(){System.out.println("军舰开炮!");};public  void move(){System.out.println("军舰在海上移动!");};
}

结果:

Java编程---(1)定义一个抽象类Weapon,该抽象类有两个抽象方法attack(),move() 这两个方法分别表示武器的攻击方式和移动方式。(2)定义3个类:Tank,Flighter,相关推荐

  1. (1)定义一个抽象类Weapon,该抽象类有两个抽象方法attack(),move() 这两个方法分别表示武器的攻击方式和移动方式。 (2)定义3个类:Tank,Fl

    代码 /*第一题:(1)定义一个抽象类Weapon,该抽象类有两个抽象方法attack(),move()这两个方法分别表示武器的攻击方式和移动方式.(2)定义3个类:Tank,Flighter,War ...

  2. 【Java编程】建立一个简单的JDBC连接-Drivers, Connection, Statement and PreparedStatement

    本blog提供了一个简单的通过JDBC驱动建立JDBC连接例程.并分别通过Statement和PreparedStatement实现对数据库的查询. 在下一篇blog中将重点比較Statement与P ...

  3. 提高java效率_提高Java编程效率的一个技巧

    我们在用Eclipse等IDE进行Java开发时,对于复制.粘贴等操作,我们最常用的是Ctrl+C和Ctrl+V,甚至是用鼠标右键进行操作.其实效率最高的操作方式应该还是命令行或快捷键操作方式.编程界 ...

  4. java实现123n_用Java编程 :输入一个正整数n,输出n!的值。 其中n!=1*2*3*…*n。 求高手指点...

    展开全部 给你写了个程序可以实现,比如32313133353236313431303231363533e4b893e5b19e31333332643235在主函数输入5,则输出表示5!(120)的数组 ...

  5. java编程:设计一个动物声音“模拟器”,希望模拟器可以模拟许多动物的叫声

    要求:1.编写抽象类Animal             2.编写模拟器类Simulator             3.编写Animal类的子类:Dog和Cat类             4.编写主 ...

  6. java随机数生成1到12_如何用java编程实现“产生一个1-12的数,并根据随机数的值输出对应月份的名称”?...

    展开全部 public String getMonthName() { int month = (int) (Math.random() * 12 + 1); switch (month) { cas ...

  7. C++,Java编程空指针的一个小细节

    //判断是否击中了敌人坦克if (hero.shot!=null && hero.shot.isLive ){for (int i = 0;i<enemyTanks.size() ...

  8. java编程实现删除一个文件夹_Java实现文件夹删除方式总结详解

    1 ,通用的文件夹或文件删除方法,直接调用此方法,即可实现删除文件夹或文件,包括文件夹下的所有文件 /** *  根据路径删除指定的目录,无论存在与否 *@param sPath  要删除的目录pat ...

  9. java设计求圆的面积周长的代码_java编程 1.设计一个求圆的面积和周长的类,要求:1计算当半径r=10和20时,圆的面积,并显示出来 、...

    导航:网站首页 > java编程 1.设计一个求圆的面积和周长的类,要求:1计算当半径r=10和20时,圆的面积,并显示出来 . 时间:2018-11-8 java编程 1.设计一个求圆的面积和 ...

最新文章

  1. ASPxGridView之PreviewRow
  2. python学费多少-2020年10月徐州学python要多少学费
  3. C++11特性:override
  4. 00075_BigInteger
  5. labview如何弹出提示窗口_以实例跟我学如何将LabVIEW的VI程序打包成安装程序
  6. 安卓案例:利用SQLiteDatabase操作数据库与表
  7. postman汉化包下载
  8. 学习单片机的三个步骤
  9. 计算机主机插槽图,图片解说看个透 教你认识主板上的插槽
  10. openstreetmap_kubernetes中的openstreetmap tile服务器
  11. sqldbx mysql 乱码_使用PLSQL Developer和DbVisualizer、SQLDBx查询oracle数据库时出现乱码...
  12. Xubuntu22.04之连接filco蓝牙键盘
  13. 使用Google Colab运行项目
  14. css 网页自适应 @media screen详解
  15. C语言五子棋评分函数,五子棋评分表算法
  16. 豆豆趣事[2015年08月]
  17. Django用admin开发的幼儿园薪资管理系统-2
  18. 2017-2018 2 20179214《网络实践攻防》第三周作业(一)
  19. 校内互测 B. 王者荣耀 (二分答案+dp)
  20. 手机设置代理连接PC Fiddler后未连接网络,网页打不开

热门文章

  1. python入门指标_Python量化交易基础讲堂-TA-Lib库量价指标分析
  2. 【连载】【FPGA黑金开发板】NIOSII那些事儿--USB主机模式(二十一)
  3. 手足皮肤顽癣单方大全
  4. 【项目优化01】使用Git管理项目及使用redis缓存短信验证码,菜品以及套餐数据
  5. linux服务器实训心得体会,linux实训心得体会 linux实训总结与体会
  6. arguments 的理解
  7. R语言里的点样式pch
  8. Tableau实战 房地产估值分析
  9. 图像退化 / 复原处理的模型
  10. 机器学习 --- 感知机