欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java多态练习

程序员文章站 2024-03-21 19:28:52
...

选择题

1.C
2.C
3.A
4.C
5.A
6.B
7.B
8.D
9.B

编程题

  1. 应用继承和多态的思想,编写动物类,成员方法是动物叫声。写三个具体的类(猫、狗、羊), 它们都是动物类的子类,并重写父类的成员方法。编写测试类,随机产生三种具体动物,调用叫 声这个方法。
  • 定义一个父类Animal类 属性:kind(种类) 方法:创建带参(kind为参数)构造方法 创建cry():void方法
  • 编写三个具体的子类Cat类、Dog类、Sheep类 分别重写父类中的 cry() 方法,输出信息分别为 Cat类:小猫的叫声:喵喵喵~~~ Dog类:小狗的叫声:汪汪汪~~~ Sheep类:小羊的叫声:咩咩咩~~~
  • 编写测试类,首先生成长度为5的父类对象数组,然后通过循环依次向数组中存入数据,现 设定存储规则为: a) 每次随机产生一个0~2的正整数 b) 若数值为 0,则生成一个 Cat 类的对象,存入数组 c) 若数值为 1,则生成一个 Dog 类的对象,存入数组 d) 若数值为 2,则生成一个 Sheep 类的对象,存入数组 最后循环输出数组成员,并分别调用 cry() 方法。
//动物类
public class Animal {
	String kind;
	
	public Animal() {}

	public Animal(String kind) {
		this.kind = kind;
	}

	public String getKind() {
		return kind;
	}

	public void setKind(String kind) {
		this.kind = kind;
	}
	
	public void cry() {
		System.out.println();
	}
}
//猫类
public class Cat extends Animal {
	public Cat() {}

	@Override
	public void cry() {
		System.out.println("小猫的叫声:喵喵喵~~~");
	}
	
}
//狗类
public class Dog extends Animal {
	public Dog() {}
	
	@Override
	public void cry() {
		System.out.println("小狗的叫声:汪汪汪~~~");
	}
}
//羊类
public class Sheep extends Animal {
	public Sheep() {}
	
	@Override
	public void cry() {
		System.out.println("小羊的叫声:咩咩咩~~~");
	}
}
//测试类
public class Test {
	public static void main(String[] args) {
		Animal[] a = new Animal[5];
		for(int i = 0; i < a.length; i++) {
			int num = (int)(Math.random()*3);
			if(num == 0) {
				a[i] = new Cat();
			} else if(num == 1) {
				a[i] = new Dog();
			} else {
				a[i] = new Sheep();
			}
		}
		
		for(Animal b : a) {
			b.cry();
		}
	}
}
相关标签: Java java