如下我的代码对不对?谢谢!
package Animal;
public class Test {
public static void main(String[] args) {
// TODO 自动生成的方法存根
//生成父类对象数组,数组长度为5
Animal a[]=new Animal[5];
//产生随机数,随机产生三种具体子类的实例
for(int i=0;i<a.length;i++) {
int num=(int)(Math.random()*3);
switch(num) {
case 0:
a[i]=new Cat();
break;
case 1:
a[i]=new Dog();
break;
case 2:
a[i]=new Sheep();
break;
}
}
//循环输出,循环体中每个对象分别调用cry()方法
for(int i=0;i<a.length;i++) {
if(a[i] instanceof Cat)
{
System.out.println(a[i]);
Cat temp=(Cat)a[i];
temp.cry();
}
else if(a[i] instanceof Dog)
{
System.out.println(a[i]);
Dog temp=(Dog)a[i];
temp.cry();
}
else
{
System.out.println(a[i]);
Sheep temp=(Sheep)a[i];
temp.cry();
}
}
}
}
package Animal;
public class Animal {
private String kind;
public Animal(){
}
//创建带参(king为参数)构造函数
public Animal(String king){
}
//应用封装实现对私有属性的get/set操作
public String getKind() {
return kind;
}
public void setKind(String kind) {
this.kind = kind;
}
//创建成员方法cry():void
public void cry() {
}
}
package Animal;
public class Cat extends Animal {
//重写父类cry()方法,输出信息为“小猫的叫声:喵喵喵~~~”
public void cry() {
System.out.println("小猫的叫声:喵喵喵~~~");
}
}
package Animal;
public class Dog extends Animal{
//重写父类cry()方法:输出信息为“小狗的叫声:汪汪汪~~~”
public void cry() {
System.out.println("小狗的叫声:汪汪汪~~~");
}
}
package Animal;
public class Sheep extends Animal {
//重写父类的方法cry(),要求输出信息“小羊的叫声:咩咩咩~~~”
public void cry() {
System.out.println("小羊的叫声:咩咩咩~~~");
}
}
正在回答 回答被采纳积分+1
运行报错。。。
- 参与学习 人
- 提交作业 5461 份
- 解答问题 7238 个
此次推出的专题为Android攻城狮培养计划的第一部分语法与界面基础篇,将带大家从0开始学习Android开发。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星