a.创建动物类Animal,在该类中创建一个成员方法cry(), 输出“动物会发出叫声”,以及一个eat()方法,输出“动物需要食物”; b.创建一个Animal子类Dog类,在该类中重写父类的成员

本文通过定义Animal基类及Dog、Cat派生类,演示了Java中的继承与多态特性。Animal类包含cry()和eat()方法,Dog和Cat类重写了cry()方法。在Zoo类的main方法中,创建了不同类型的对象并调用了相应的方法,展示了多态性的应用。

创建Zoo类作为主类,在main方法中分别创建各个类对象 ,并调用各自类的cry()方法, 创建Dog类的对象赋值给Animal类的对象,然后调用cry()和eat()方法。

  • ** a.创建动物类Animal,在该类中创建一个成员方法cry(),输出“动物会发出叫声”,以及一个eat()方法,输出“动物需要食物”;

  • b.创建一个Animal子类Dog类,在该类中重写父类的成员方法cry(),输出“狗发出汪汪…的叫声”;

c.创建一个Animal子类Cat类,在该类中重写父类的成员方法cry(),输出“猫发出喵喵…的叫声”;

  • d.最后创建Zoo类作为主类,在main方法中分别创建各个类对象 ,并调用各自类的cry()方法,
    创建Dog类的对象赋值给Animal类的对象,然后调用cry()和eat()方法。

class Animal{
	public void cry() {
		System.out.println("动物会发出叫声");
	}
	public void eat() {
		System.out.println("动物需要食物");
	}
}
class Dog extends Animal{
	public void cry() {
		System.out.println("狗发出汪汪...的叫声");
	}
}
class Cat extends Animal{
	public void cry() {
	System.out.println("猫发出喵喵...的叫声");
	}
}
public class Zoo {

	public static void main(String[] args) {
	Animal h1=new Animal();
	Dog h2=new Dog();
	Cat h3=new Cat();
	h1.cry();
	h2.cry();
	h3.cry();
	h1=h2;
	System.out.println("----------------------------");
	h1.cry();
	h1.eat();
	}

}

运行结果:

动物会发出叫声
狗发出汪汪...的叫声
猫发出喵喵...的叫声
----------------------------
狗发出汪汪...的叫声
动物需要食物
import java.util.*; abstract class Animal{ //Animal抽象有2个抽象方法cry()和getAnimalName(),表示叫声和种名称。 } class Simulator{ // Simulator中有一个playSound(Animal animal)方法,该方法的参数是Animal型。即参数animal可以调用Animal子类重写cry()方法输出动物叫声,调用子类重写的getAnimalName()方法显示动物的名称。 } class Dog extends Animal{ //编写Animal子类Dog。 } class Cat extends Animal{ //编写Animal子类Cat。 } class Main{ public static void main(String[] args) { Scanner r = new Scanner(System.in); String name1 = r.next(); String name2 = r.next(); Simulator b = new Simulator(); Animal animal; animal = new Cat(name1); b.playSound(animal); animal = new Dog(name2); b.playSound(animal); } }设计一个动物声音“模拟器”,希望模拟器可以模拟许多动物叫声,要求如下。 ①编写抽象AnimalAnimal抽象有2个抽象方法cry()和getAnimalName(),即要求通过键盘输入各种具体的动物名称。 ②编写模拟器Simulator:该类一个playSound(Animal animal)方法,该方法的参数是Animal型。即参数animal可以调用Animal子类重写cry()方法输出动物叫声,调用子类重写的getAnimalName()方法显示动物的名称。 ③编写Animal子类Dog和Cat。 ④编写Main创建Simulator对象s,进行测试。 【输入形式】 【输出形式】 【样例输入】 猫 狗 【样例输出】 猫 喵喵喵! 狗 汪汪汪!
最新发布
12-06
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值