接受多个不同的对象并显示它们的方法java

时间:2018-04-20 05:49:13

标签: java

Given code

Result

编写一个静态方法printSleep(),它接受一个Human,Dog和Cat类型的对象数组作为参数。该方法遍历数组,对于每个数组元素,该方法打印"人类睡眠8小时"如果对象类型是Human,则在一行上;如果对象类型是Dog,则该方法打印" Dogs睡眠14小时"在单行上,如果对象类型是Cat,则该方法打印" Cats睡眠16小时"在一条线上。我目前的答案是:

public static void printSleep(Sleep [] s){

Sleep[] a = new Sleep[3];

s[0] = new Cat();
s[1] = new Dog();
s[2] = new Human();

for(Sleep obj : a) {
    obj.sleep();
}

}

我的代码什么都没打印。有人可以给我一些提示吗?提前致谢

2 个答案:

答案 0 :(得分:0)

for(Sleep obj : s) {
obj.sleep();
}

答案 1 :(得分:0)

为什么要在方法中初始化类,只需在main中执行并传递printSleep方法

public static void main(String args[]){

        Sleep[] a = new Sleep[3];

        a[0] = new Cat();
        a[1] = new Dog();
        a[2] = new Human();
        printSleep(a);


    }

    public static void printSleep(Sleep[] s){

        for(Sleep obj : s) {
            obj.sleep();
        }
    }