代码

/*第一题:(1)定义一个抽象类Weapon,该抽象类有两个抽象方法attack(),move()这两个方法分别表示武器的攻击方式和移动方式。(2)定义3个类:Tank,Flighter,WarShip都继承自Weapon,分别用不同的方式实现Weapon类中的抽象方法。编写测试程序main方法,创建多个不同武器的实例。并分别调用attack()和move()方法。能用多态尽量使用多态。*/
public class Homework1 {public static void main(String[] args) {//创建对象Weapon tank = new Tank();Weapon fighter = new Fighter();Weapon warship = new Warship();//调用方法tank.attack();tank.move();System.out.println("---------------------");fighter.attack();fighter.move();System.out.println("---------------------");warship.attack();warship.move();System.out.println("-----------------------");}
}abstract class Weapon{//武器攻击public abstract void attack();//武器移动public abstract void move();
}//坦克类
class Tank extends Weapon{@Overridepublic void attack() {System.out.println("战舰攻击!");}@Overridepublic void move() {System.out.println("战舰移动!");}
}//战斗机类
class Fighter extends Weapon{@Overridepublic void attack() {System.out.println("战斗机攻击!");}@Overridepublic void move() {System.out.println("战斗机移动!");}
}//战舰类
class Warship extends Weapon{@Overridepublic void attack() {System.out.println("战舰攻击!");}@Overridepublic void move() {System.out.println("战舰移动!");}
}

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

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

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

  2. 8.编写程序,要求如下: 定义名为VolumeArea的抽象类,在其中定义圆周率的值为3.14159,并定义两个抽象方法volume(double r)和area(double r),它们的返回

    8.编写程序,要求如下: 定义名为VolumeArea的抽象类,在其中定义圆周率p的值为3.14159,并定义两个抽象方法volume(double  r)和area(double  r),它们的返回 ...

  3. 【python】定义一个“曲调类”Note,value属性表示声音的高低 Note的三个子类分别表示高音、低音和中音定义一个“乐器类”Instrument具有play()方法

    # 定义一个"曲调类"Note,value属性表示声音的高低 # a. Note的三个子类分别表示高音.低音和中音 # b. 定义一个"乐器类"Instrume ...

  4. 教你在Linux上使用ansible写“剧本”,定义一个“剧本”模板后,让控制集群自动执行我们剧本中所写的“剧情”,几个自动化运维的简单实例

    目录 1.loop的使用 2.使用when,当条件成立时才执行任务 3.notify和handler的使用 4.tags使用 5.处理任务失败 6. 构建一个jinja2模板 7.forks和seri ...

  5. java学习(55):定义一个抽象类的继承

    不同的是定义一个抽象类先 //抽象类 public abstract class interface4 { public abstract void fly(); public abstract vo ...

  6. 编写一个抽象类Shape,声明计算图形面积的抽象方法。再分别定义Shape的子类Circle(圆)和Rectangle(矩形),在两个子类中按照不同图形的面积计算公式,实现Shape类中计算面积的方法

    编写一个抽象类Shape,声明计算图形面积的抽象方法.再分别定义Shape的子类Circle(圆)和Rectangle(矩形),在两个子类中按照不同图形的面积计算公式,实现Shape类中计算面积的方法 ...

  7. 设计一个抽象类图形类,在该类中包含有至少两个抽象方法求周长和求面积,分别定义圆形类、长方形类、正方形类、三角形类来继承图形类,并实现上述两个方法

    设计一个抽象类图形类,在该类中包含有至少两个抽象方法求周长和求面积,分别定义圆形类.长方形类.正方形类.三角形类来继承图形类,并实现上述两个方法 设计抽象类 就要使用abstract关键字,抽象类中的 ...

  8. 定义一个抽象类一水果,创建若干水果对象存放在-一个水果类型的数组中,输出数组中所有水果的类型、重量

    ****定义一个抽象类一水 果,其中包括getWeightQ方法,编写程序分别创建苹果.桃子.橘子3个类,创建若干水果对象存放在-一个水果类型的数组中,输出数组中所有水果的类型.重量.提示:利用对象的 ...

  9. Java 定义一个抽象类—水果,其中包括getWeight()方法,创建若干水果对象存放在一个水果类型的数组中,输出数组中所有水果的类型、重量。

    Java 定义一个抽象类-水果 其中包括getWeight()方法,编写程序分别创建苹果.桃子.橘子3个类,创建若干水果对象存放在一个水果类型的数组中,输出数组中所有水果的类型.重量. 抽象类Frui ...

最新文章

  1. Windows 8实例教程系列 - 理解应用框架
  2. 递增的整数序列链表的插入
  3. 给网页穿上Word马甲
  4. 多机能同时制造时(对于发现的问题, 【使用】 并记入 【 问题一览 】)。
  5. 数字化营销如何打造全链路数据统计解决方案
  6. 【STM32H7的DSP教程】第22章 DSP矩阵运算-放缩,乘法和转置矩阵
  7. 黑马微信小程序项目实战
  8. javascript 在线文本编辑器
  9. 背包问题(Knapsack Problem)—— 完全背包问题 —— (1)背包价值最大
  10. python自然语言处理实战源代码下载_NLP学习:涂铭《Python自然语言处理实战核心技术与算法》PDF+源代码...
  11. 【Python零基础到入门】Python基础语法篇——基本数据类型【文末送书】
  12. debian修改源的方法
  13. git中提示 please tell me who you are
  14. php中ceil的用法,php ceil函数怎么用?
  15. 剑指offer 矩阵中的路径 @python
  16. 高等数学-曲线积分与曲面积分
  17. linux ubuntu下安装拳皇97
  18. 建筑、结构和机电应的建模都要会Revit等软件?提高效率的revit插件?
  19. watch命令实现Linux监控
  20. 搭建clearlinux环境

热门文章

  1. [原创]django+ldap+memcache实现单点登录+统一认证
  2. spring 国际化-i18n
  3. “年薪25万只是白菜价”已成过去式,AI 岗位年薪下降8.9%!
  4. STM32之GPIO原理
  5. Java 8 八年不倒、IntelliJ IDEA 力压 Eclipse
  6. 激怒开源社区,微软悄悄删除2500行功能代码后致歉:已恢复!
  7. 290家公司都在用的任务调度系统,还在Github上开源了
  8. 那些我当了程序员以后才理解的崩溃瞬间!
  9. Spring 官宣,干掉原生 JVM!
  10. Lambda、函数式接口、Stream 一次性全给你