java基础编程练习

本文介绍了一个Java编程示例,通过抽象类Bird和Flyable接口展示了鸟类和飞行物的概念,以及如何通过子类如Chicken、Superman和Parrot实现这些概念,包括方法重写。
摘要由CSDN通过智能技术生成

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");
	}
}
  • 9
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值