java 抽象类题目
1)定义一个抽象类Weapon,该抽象类有两个抽象方法attack(),move()
这两个方法分别表示武器的攻击方式和移动方式。
(2)定义3个类:Tank,Flighter,WarShip都继承自Weapon,
分别用不同的方式实现Weapon类中的抽象方法。
编写测试程序main方法,创建多个不同武器的实例。并分别调用attack()和move()方法。
能用多态尽量使用多态。
public class Day19{
public static void main(String[] args) {
//向上转型
Weapon w1 = new Tank() ;
w1.lbb();
//向下转型
if (w1 instanceof Tank) {
Tank t = (Tank)w1;
System.out.println(1);
t.attack();
t.move();
}
}
}
//抽象类
abstract class Weapon{
//抽象方法表示武器的攻击方式 抽象方法没有方法体
public abstract void attack();
//抽象方法表示移动的移动方式
public abstract void move();
public void lbb() {
System.out.println();
}
}
//(2)定义3个类:Tank 坦克,Flighter 飞机,WarShip 舰艇都继承自Weapon,
//分别用不同的方式实现Weapon类中的抽象方法。
//坦克类 Tank 继承抽象类Weapon 方法要重写
class Tank extends Weapon {
//attack方法表示Tank 武器的攻击方式
public void attack() {
System.out.println("坦克炮是坦克的主要武器,主要配备穿甲弹、破甲弹、杀伤爆破弹等弹种。");
}
//move方法表示Tank 坦克移动的移动方式
public void move() {
System.out.println("坦克具有越野能力,通过履带移动,履带是由主动轮驱动、围绕着主动轮、负重轮、诱导轮和托带轮的柔性链环");
}
}
//飞机类 Flighter 继承抽象类Weapon 方法要重写
class Flighter extends Weapon {
//attack方法表示Flighter 武器的攻击方式
public void attack() {
System.out.println("导弹");
}
//move方法表示Flighter 移动的移动方式
public void move() {
System.out.println("在天上飞");
}
}
//舰艇类 WarShip 继承抽象类Weapon 方法要重写
class WarShip extends Weapon {
//attack方法表示Weapon 武器的攻击方式
public void attack() {
System.out.println("导弹,鱼雷");
}
//move方法表示Weapon 坦克移动的移动方式
public void move() {
System.out.println("在水上");
}
}
public class Day19{public static void main(String[] args) {//向上转型Weapon w1 = new Tank() ;w1.lbb();//向下转型if (w1 instanceof Tank) {Tank t = (Tank)w1;System.out.println(1);t.attack();t.move();}}}
//抽象类
abstract class Weapon{//抽象方法表示武器的攻击方式 抽象方法没有方法体public abstract void attack();//抽象方法表示移动的移动方式public abstract void move();public void lbb() {System.out.println();}}//(2)定义3个类:Tank 坦克,Flighter 飞机,WarShip 舰艇都继承自Weapon,
//分别用不同的方式实现Weapon类中的抽象方法。
//坦克类 Tank 继承抽象类Weapon 方法要重写
class Tank extends Weapon {//attack方法表示Tank 武器的攻击方式public void attack() {System.out.println("坦克炮是坦克的主要武器,主要配备穿甲弹、破甲弹、杀伤爆破弹等弹种。");}//move方法表示Tank 坦克移动的移动方式public void move() {System.out.println("坦克具有越野能力,通过履带移动,履带是由主动轮驱动、围绕着主动轮、负重轮、诱导轮和托带轮的柔性链环");}
}
//飞机类 Flighter 继承抽象类Weapon 方法要重写
class Flighter extends Weapon {//attack方法表示Flighter 武器的攻击方式public void attack() {System.out.println("导弹");}//move方法表示Flighter 移动的移动方式public void move() {System.out.println("在天上飞");}}
//舰艇类 WarShip 继承抽象类Weapon 方法要重写
class WarShip extends Weapon {//attack方法表示Weapon 武器的攻击方式public void attack() {System.out.println("导弹,鱼雷");}//move方法表示Weapon 坦克移动的移动方式public void move() {System.out.println("在水上");}}
java 抽象类题目相关推荐
- java 抽象类 方法_java 抽象类
Java为什么使用抽象类和接口 Java接口和Java抽象类代表的就是抽象类型,就是我们需要提出的抽象层的具体表现.OOP面向对象的编程,如果要提高程序的复用率,增加程序的可维护性,可扩展性,就必须是 ...
- Java面试题目大汇总(附参考答案)
足足准备了长达3个月的面试,终于在上周拿到了阿里的offer! 博主汇总整理了一份我面试之前看的一些Java面试题目,可以说是非常详细! 分享给大家,希望对正在面试Java岗位的朋友有帮助哈~~ (文 ...
- 计算机等级考试java题型_全国计算机等级考试二级JAVA笔试题目
全国计算机等级考试二级JAVA笔试题目 导语:Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程.下面是计算机二级考试Java语言的模拟试题 ...
- java抽象类例子_java抽象类经典实例分享
在这之前有给大家详细的介绍过java抽象类,相信很多人应该都比较了解了,那么下面就要继续来给大家分享一个java抽象类的实例. 题目: 不同几何图形的面积计算公式是不一样的,可是,它们具有的特性是一样 ...
- 考研JAVA复试题目整理
JAVA复试题目自整理 大家觉得有用点点赞啊可以升级升到3级我就可以自定义标签了谢谢~ 说复试题目过于牵强,只是自己整理的一些知识点而已,为了便于理解和背诵,有些部分定义和说明尽量简明扼要,如有错误请 ...
- 2021年Java面试题目最新总结【90%面试会踩的坑】
学会java技术之后大家面临的最多的问题就是面试这关,求职面试java岗位是否能够成功是直接影响我们的工作机会的,所以对于Java程序员面试你准备好了吗?今天小编汇总了一下关于Java程序员面试,90 ...
- Java接口和Java抽象类
Java接口和Java抽象类有太多相似的地方,又有太多特别的地方,究竟在什么地方,才是它们的最佳位置呢?把它们比较一下,你就可以发现了. 1.Java接口和Java抽象类最大的一个区别,就在于Java ...
- Java接口和Java抽象类的认识
在没有好好地研习面向对象设计的设计模式之前,我对Java接口和Java抽象类的认识还是很模糊,很不可理解. 刚学Java语言时,就很难理解为什么要有接口这个概念,虽说是可以实现所谓的多继承,可一个只有 ...
- java 抽象类 模板_Java抽象类的构造模板模式用法示例
搜索热词 本文实例讲述了Java抽象类的构造模板模式用法.分享给大家供大家参考,具体如下: 一 点睛 模板模式的一些简单规则. 抽象父类可以只定义需要使用的某些方法,而不能实现的部分抽象成抽象方法,留 ...
最新文章
- 互联网垂直社交创业新形态——ThinkSNS
- Lucene查询语法详解
- 使用 rocketmq-spring-boot-starter 来配置、发送和消费 RocketMQ 消息
- 前缀表达式后缀表达式_五分钟小知识之什么是后缀表达式
- 字符串操作 c语言,C语言字符串操作(示例代码)
- 【洛谷比赛】你的名字。
- C#LeetCode刷题之#766-托普利茨矩阵(Toeplitz Matrix)
- linux网络代码结构
- css 立体管道图_高层住宅管道井内密集管线施工方法研究
- CVPR2022 Oral | CosFace、ArcFace的大统一升级,AdaFace解决低质量图像人脸识
- Java旅游管理系统本科生毕业设计开题报告
- VBB 3.8.4 XSS
- 学习python笔记01
- 串行加法器和并行加法器_N位并行加法器(4位二进制加法器和减法器)
- 树莓派获取SHT20温湿度
- 《阿特拉斯耸耸肩》节选:互害与甩锅的反敏捷组织
- 常见的计算机网络安全威胁的表现形式,网络安全威胁的的表现形式有哪些?
- D3学习笔记之常用比例尺
- 微信小程序(二)首页之搜索框
- 服务器操作系统tco的英文全称,云服务器ECS的英文全称