大数据-java基础-第11章 面向对象的java实现-继承和多态练习

1.定义动物类,其中都具有姓名、年龄、性别的属性和睡觉的行为,其中狗继承动物类,但具有自己吃骨头的行为,猫继承动物类,但具有自己吃老鼠的行为,兔子继承动物类,但具有自己吃草的行为。
分析:
①定义动物类

public class Animal {
	String name;
	int age;
	String sex;	
	public Animal(String name,int age,String sex) {
		this.name=name;
		this.sex=sex;
		this.age=age;
	}	
	public String sleep() {
		return "爱睡觉";
	}
	public void animalSleep() {
		System.out.print("\n一个名字为:"+name+",性别为:"+sex+",年龄为:"+age+"岁,"+sleep()+","); 
	}
}

②定义狗的类,继承动物类,并添加自身的属性和行为

public class Dog extends Animal{
	String dog;
	public Dog(String dog,String name,int age,String sex) {
		super(name,age,sex);
		this.dog=dog;
	}
	private String speak() {
		return "旺旺...";
	}
	private String eat() {
		return "骨头,";
	}
	public void animalSleep() {
		super.animalSleep();
		System.out.print("爱吃:"+eat()+"喜欢:"+speak()+"叫的动物是"+dog);
		
	}		
}

③定义猫的类,继承动物类,并添加自身的属性和行为

public class Cat extends Animal {
	String cat ;
	public Cat(String cat,String name,int age,String sex) {
		super(name,age,sex);
		this.cat=cat;
	}
	public String speak() {
		return "喵喵...";
	}
	public String eat() {
		return "老鼠,";
	}
	public void animalSleep() {
		super.animalSleep();
		System.out.print("爱吃:"+eat()+"喜欢:"+speak()+"叫的动物是"+cat);		
	}			
}

④定义兔子的类,继承动物类,并添加自身的属性和行为

public class Rabbit extends Animal {
	String rabbit;
	public Rabbit(String rabbit,String name,int age,String sex) {
		super(name,age,sex);
		this.rabbit=rabbit;
	}
	public String speak() {
		return "吱吱...";
	}
	public String eat() {
		return "青草,";
	}
	public void animalSleep() {
		super.animalSleep();
		System.out.print("爱吃:"+eat()+"喜欢:"+speak()+"叫的动物是"+rabbit);		
	}
}

⑤测试类

public class AnimalText {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Cat ct = new Cat("猫","小会",3,"雌");
		ct.animalSleep();
		Rabbit rb = new Rabbit("兔子","小白",2,"公");
		rb.animalSleep();
		Dog dg = new Dog("狗","阿虎",5,"公");
		dg.animalSleep();				
	}
}

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值