6-59 鸟与飞行物分数 10
1、设计一个抽象类名叫 Bird 代表鸟类,其中含一个 void sing() 方法用于打印 "This bird sings"。
2、设计一个接口名为 Flyable 表示任何可以飞的物体,其中包含一个 void fly() 方法。
3、设计一个类名为 Chicken 继承 Bird 类,并重写 sing() 方法打印 "Chicken sings"。
4、设计一个类名为 Superman 实现 Flyable 接口,并重写 fly() 方法打印 "Superman flies"。
5、设计一个类名为 Parrot 并实现 Flyable 接口和继承 Bird 类,并重写 fly() 方法和 sing() 方法,分别打印 "Parrot flies" 和 "Parrot sings"。
裁判测试程序样例:
import java.util.Scanner;
class Test {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int i = in.nextInt();
Flyable[] f = { new Parrot(), new Superman() };
for (Flyable k : f) {
k.fly();
}
System.out.println(i);
Bird[] a = { new Parrot(), new Chicken() };
for ( Bird b : a ) {
b.sing();
}
in.close();
}
}
/* 请在这里填写答案 */
输入样例:
123
输出样例:
Parrot flies
Superman flies
123
Parrot sings
Chicken sings
以下是答案
import java.util.Scanner;
public class Pta_6_59 {
public static void main(String args[]) {
Scanner in = new Scanner(System.in);
int i = in.nextInt();
Flyable[] f = {new Parrot(),new Superman()};
for(Flyable k:f) {
k.fly();
}
System.out.println(i);
Bird[] a = {new Parrot(),new Chicken()};
for(Bird b:a) {
b.sing();
}
in.close();
}
}
//以下是答案
abstract class Bird{
void sing() {
System.out.println("This bird sings");
}
}
interface Flyable{
void fly();
}
class Chicken extends Bird{
void sing() {
System.out.println("Chicken sings");
}
}
class Superman implements Flyable{
public void fly() {
System.out.println("Superman flies");
}
}
class Parrot extends Bird implements Flyable{
public void fly() {
System.out.println("Parrot flies");
}
void sing() {
System.out.println("Parrot sings");
}
}