6-4 汪星人和喵星人

news/2024/9/29 2:30:33/

小王和小苗分别是一只可爱的狗狗和猫猫,它们都属于哺乳动物(Mammal),性格非常活跃,并对自己的名字都很在意并感到自豪,同时,为了显示存在感,它们还经常发出一些噪音。

请编写一个抽象类Mammal和接口CanJump,并定义一个Dog类,该类继承自Mammal,并实现了CanJump接口。

注意分析以下main方法和输入输出样例,以确定Mammal类和CanJump接口的成员变量和成员方法,以及Dog类的方法该如何实现。

裁判测试程序样例:

/* 请在这里填写答案 */public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);String name1 = sc.next();Dog wang = new Dog(name1);wang.makeSound();if (wang instanceof CanJump) //如果dog对象所在类实现了CanJump接口,则调用jump()方法wang.jump();Mammal miao = new Mammal() { //匿名类,类中实现了makeSound()方法void makeSound() {System.out.println(getName() + ":喵喵喵!");}};String name2 = sc.next();miao.setName(name2);miao.makeSound();}
}

输入样例:

quanquan
weiwei

输出样例:

quanquan:汪汪汪!
quanquan can jump high!
weiwei:喵喵喵!

代码实现区: 

java">import java.util.Scanner;abstract class Mammal {protected String name;public void setName(String name) {this.name = name;}public String getName() {return name;}abstract void makeSound();
}
interface CanJump {void jump();
}
class Dog extends Mammal implements CanJump {Dog(String name) {this.name = name;}@Overridevoid makeSound() {System.out.println(name + ":汪汪汪!");}@Overridepublic void jump() {System.out.println(name + " can jump high!");}
}


http://www.ppmy.cn/news/1531229.html

相关文章

Python库matplotlib之一

Python库matplotlib之一 plot函数使用列表或数组画线绘图的格式 matplotlib.pyplot 是使 matplotlib 像 MATLAB 一样工作的函数集合。每个 pyplot 函数都会对图形进行一些更改:例如, 创建图形在图形中创建绘图区域在绘图区域中绘制一些线条用标签装饰绘…

数据结构 - 概述及其术语

经过上一章节《数据结构与算法之间有何关系?》的阐述,相信大家对数据结构多少有了点了解,今天我们将进入数据结构的正式学习中。 在计算机科学中,数据结构是一种数据管理、组织和存储的格式。它是相互之间存在一种或多种特定关系的…

Ubuntu下安装向日葵:闪退

下载 https://sunlogin.oray.com/download 初次安装 $ sudo dpkg -i SunloginClient_15.2.0.63064_amd64.deb 正在选中未选择的软件包 sunloginclient。 (正在读取数据库 ... 系统当前共安装有 234281 个文件和目录。) 准备解压 SunloginClient_15.2.0.63064_amd64.deb ..…

自动驾驶综述 | 定位、感知、规划常见算法汇总

1. 引言 自动驾驶技术是当代科技领域的前沿之一,它综合了多个学科的知识,如计算机视觉、深度学习、传感器融合、控制理论等。在自动驾驶系统中,定位、感知和规划是实现自动驾驶的核心部分。本文将从这三个方面汇总自动驾驶中常见的算法&…

Spring系统学习(五)——Spring数据库编程

Spring 数据库编程概述 在Spring中,数据库编程的核心模块是Spring JDBC和事务管理。Spring提供了简化数据库操作的工具和接口,例如JdbcTemplate,大大减少了与JDBC API相关的繁琐代码。接下来,我们详细介绍Spring JDBC及其事务管理…

Unity3D入门(二) :Unity3D实现视角的丝滑过渡切换

1. 前言 上篇文章,我们已经初步了解了Unity3D,并新建并运行起来了一个项目,使相机视角自动围绕着立方体旋转。 这篇文章,我们来讲一下Unity3D怎么过渡地切换视角。 我们继续是我上篇文章中的项目,但是需要向把Camera…

JAIN SLEE 和 Spring Boot对比

在性能方面,JAIN SLEE 和 Spring Boot 各有优势,取决于使用场景。为了更好地比较两者的性能,以下从几个关键方面进行分析: 1. 设计目标与适用场景 JAIN SLEE:专门为电信级应用设计,擅长处理高并发、低延迟…

代码随想录打卡Day39

今天是打家劫舍专题,三道题全都看了讲解,第一次做感觉确实是无从下手。。。不过了解了原理之后代码很快就写出来了。 198.打家劫舍 这道题使用一维dp数组,首先确定dp数组的含义,dp[i]为考虑偷下标[0, i]家的情况下所能获得的最大…