选择
// 1、C
// 2、C
// 3、A
// 4、C
// 5、A
// 6、B
// 7、D
// 8、AD
// 9、B
编程
-
应用继承和多态的思想,编写动物类,成员方法是动物叫声。写三个具体的类(猫、狗、羊),
它们都是动物类的子类,并重写父类的成员方法。编写测试类,随机产生三种具体动物,调用叫 声 这个方法。
程序参考运行效果如图所示:
任务分析:1. 定义一个父类Animal类
属性:kind(种类)
方法:创建带参(kind为参数)构造方法
创建cry():void方法2. 编写三个具体的子类Cat类、Dog类、Sheep类
分别重写父类中的 cry() 方法,输出信息分别为
Cat类:小猫的叫声:喵喵喵~~~
Dog类:小狗的叫声:汪汪汪~~~
Sheep类:小羊的叫声:咩咩咩~~~3. 编写测试类,首先生成长度为5的父类对象数组,然后通过循环依次向数组中存入数据,现
设定存储规则为:
a) 每次随机产生一个0~2的正整数
b) 若数值为 0,则生成一个 Cat 类的对象,存入数组
c) 若数值为 1,则生成一个 Dog 类的对象,存入数组
d) 若数值为 2,则生成一个 Sheep 类的对象,存入数组
最后循环输出数组成员,并分别调用 cry() 方法。
package java0421;
/**
* 父类-Animal类
* @author Clearlove7
*
*/
public class Animal {
private String kind; // 种类
public String getKind() {
return kind;
}
public void setKind(String kind) {
this.kind = kind;
}
public Animal(String kind) {
super();
this.kind = kind;
}
public Animal() {
super();
}
public void cry() {
}
}
package java0421;
/**
* Cat类
* @author Clearlove7
*
*/
public class Cat extends Animal {
@Override
public void cry() {
System.out.println("小猫的叫声:喵喵喵~~~");
}
}
package java0421;
/**
* Dog类
* @author Clearlove7
*
*/
public class Dog extends Animal {
@Override
public void cry() {
System.out.println("小狗的叫声:汪汪汪~~~");
}
}
package java0421;
/**
* Sheep类
* @author Clearlove7
*
*/
public class Sheep extends Animal {
@Override
public void cry() {
System.out.println("小羊的叫声:咩咩咩~~~");
}
}
package java0421;
/**
* 测试类
* @author Clearlove7
*
*/
public class Test {
public static void main(String[] args) {
Animal[] arr = new Animal[5];
for(int i = 0; i < arr.length; i++) {
int a = (int)(Math.random()*3);
if( a == 0) {
Cat cat = new Cat();
arr[i] = cat;
cat.cry();
} else if (a == 1) {
Dog dog = new Dog();
arr[i] = dog;
dog.cry();
} else if (a == 2) {
Sheep sheep = new Sheep();
arr[i] = sheep;
sheep.cry();
/*小羊的叫声:咩咩咩~~~
小羊的叫声:咩咩咩~~~
小狗的叫声:汪汪汪~~~
小猫的叫声:喵喵喵~~~
小羊的叫声:咩咩咩~~~*/
}
}
}
}