首页 > 编程语言 >JAVA (继承+多态)创建一个父类Monster

JAVA (继承+多态)创建一个父类Monster

时间:2024-11-08 23:44:17浏览次数:3  
标签:JAVA Monster ma frighten 多态 Vampire new public

题目描述   (继承+多态)创建一个父类Monster,父类带有一个boolean返回值的方法frighten,用于打印输出"arrrgh";
创建一个继承于Monster父类的子类Dragon,重写frighten方法,用于打印输出"breath fire";
创建一个继承于Monster父类的子类Vampire,重写frighten方法,用于打印输出"a bite?";
 在主函数main中创建一个父类Monster引用子类Dragon、Vampire的对象;
 输入  无
 输出 输出有三行,第一行为Vampire类中的frighten方法;第二行为Dragon类中的frighten方法;第三行为Monster类中的frighten方法;

测试输入:无
测试输出:a bite?
         breath fire
         arrrgh

提示:父类Monster引用子类Dragon、Vampire的对象可以使用Monster[] ma = new Monster[3];
/ *public class MonterTestDrive {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Monster[] ma = new Monster[3];
        ma[0] = new Vampire();
        ma[1] = new Dragon();
        ma[2] = new Monster();
        for(int i = 0;i<3;i++){
            ma[i].frighten(i);
        }
    }

}

*/

public class MonterTestDrive {
    public static void main(String[] args) {
        Monster[] ma = new Monster[3];
        ma[0] = new Vampire();
        ma[1] = new Dragon();
        ma[2] = new Monster();
        for (int i = 0; i < 3; i++) {
            ma[i].frighten(i);
        }
    }
}

class Monster {
    public boolean frighten(int i) {
        System.out.println("arrrgh");
		return true;
        
    }
}

class Dragon extends Monster {
    public boolean frighten(int i) {
        System.out.println("breath fire");
        return true;
    }
}

class Vampire extends Monster {
    public boolean frighten(int i) {
        System.out.println("a bite?");
        return true;
    }
}
测试输入:无
测试输出:a bite?
         breath fire
         arrrgh

 

 

 

标签:JAVA,Monster,ma,frighten,多态,Vampire,new,public
From: https://blog.csdn.net/2401_85947543/article/details/143627607

相关文章

  • LeetCode100之旋转图像(48)--Java
    1.问题描述  给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转90度。你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。        示例1输入:matrix=[[1,2,3],[4,5,6],[7,8,9]]......
  • LeetCode100之买卖股票的最佳时机含冷冻期(309)--Java
    1.问题描述   给定一个整数数组prices,其中第  prices[i] 表示第 i 天的股票价格。​设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票):卖出股票后,你无法在第二天买入股票(即冷冻期为1天)。        注意......
  • Java后端请求想接收多个对象入参的数据方法
    在Java后端开发中,如果我们希望接收多个对象作为HTTP请求的入参,可以使用SpringBoot框架来简化这一过程。SpringBoot提供了强大的RESTfulAPI支持,能够方便地处理各种HTTP请求。1.示例:使用SpringBoot接收包含多个对象的HTTP请求以下是一个详细的示例,展示了如何使用SpringBoot接......
  • Java面试之Java中实现多线程有几种方法
    前言本来想着给自己放松一下,刷刷博客,突然被几道面试题难倒!说说Java中实现多线程有几种方法?似乎有点模糊了,那就大概看一下面试题吧。好记性不如烂键盘***12万字的java面试题整理***Java中实现多线程有几种方法创建线程的常用三种方式:继承Thread类实现Runnable接口实现Cal......
  • Java 开发中的 9 个异常处理的避坑技巧:实战案例解析
    文章目录1.不要滥用catch一切的异常2.使用自定义异常明确表达业务逻辑3.切勿在finally中使用return4.避免吞掉异常5.避免在循环中创建异常6.利用`try-with-resources`自动关闭资源7.避免使用异常控制流程8.避免频繁创建和抛出自定义异常9.细分捕获异常类......
  • Java 开发中的 9 个实用避坑技巧:实战案例解析
    文章目录1.避免使用`==`比较字符串2.谨慎处理`NullPointerException`3.小心隐式类型转换4.避免过度使用静态变量5.合理控制线程池大小6.小心浮点数比较7.避免死锁8.谨慎使用可变参数(Varargs)9.使用`equals`和`hashCode`时实现一致性总结推荐阅读文章......
  • 每日OJ题_牛客_BC157素数回文_数学_C++_Java
    目录牛客_BC157素数回文_数学题目解析C++代码Java代码牛客_BC157素数回文_数学素数回文_牛客题霸_牛客网描述:现在给出一个素数,这个素数满足两点:1、  只由1-9组成,并且每个数只出现一次,如13,23,1289。2、  位数从高到低为递减或递增,如2459,87631。请你判断一下,这......
  • JavaWeb --cookie和session技术
    Cookiecookie*客户端技术,存放在客户端,由服务器发放给用户保存*一个Cookie只能存放一个键值对Cookiecookie=newCookie(""(name),""(value));//设置cookie有效期单位秒//>0表示cookie有效期//=0删除cookie//<0会话cookiecookie.setMaxAge(0);//将cookie响应给客......
  • 简略的图书系统(对刚学完的javase语法运用)
    目录1,实现图书系统的思维过程(使不同的内容构架联系起来)2,主要操作的代码2.1,IOPeration2.2,AddOperation2.3,BorrowedOperation2.4,DelOperation2.5,ExitOperation2.6,FindOperation2.7,ReturnOperation2.8,ShowOperation2.9,Main刚学完javase,对知识使用起来,让自己熟悉和进......
  • flask基于java的课程答疑系统设计(毕设源码+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于课程答疑系统的研究,现有研究主要集中在系统的基本功能构建与实现方面。在国内外,已经有不少课程答疑系统被开发出来,并且在学校和教......