小王和小苗分别是一只可爱的狗狗和猫猫,它们都属于哺乳动物(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!");}
}