多态的方法调用问题

多态的方法调用问题

package com.imooc.test;

import com.imooc.animal.Animal;
import com.imooc.animal.Cat;
import com.imooc.animal.Dog;
import com.imooc.animal.Sheep;

import java.util.Random;

/**
 * Created by kosmos on 2017/7/8.
 */
public class AnimalTest {
    public static void main(String[] args) {
        Animal[] animals = new Animal[5];
        Random random = new Random();
        int a = 0;
        for (int i = 0; i < 5; i++) {
            a=random.nextInt(3);
            if(a == 0)
                animals[i] = new Cat();
            else if(a == 1)
                animals[i] = new Dog();
            else if(a == 2)
                animals[i] = new Sheep();
        }
        for (int j = 0; j < 5; j++) System.out.println(animals[j].cry(););
    }
}

请问for (int j = 0; j < 5; j++) System.out.println(animals[j].cry();); 这句话为什么eclipse 会报错 并且调用cry会自动添加分号真的不懂

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
Tender10 2017-07-08 18:34:49

这个cry()方法后面的分号是多余的,你把分号删了吧。

  • 提问者 小宇宙kk #1
    Cannot resolve method println(void) 删了报这个错误。。
    2017-07-08 18:44:18
  • 好帮手慕珊 回复 提问者 小宇宙kk #2
    看一下你的cry()方法是不是返回值是void,返回值是void的方法时不能用输出语句输出的。可以直接调用,不写在输出语句里面。
    2017-07-09 11:25:58
  • 提问者 小宇宙kk 回复 好帮手慕珊 #3
    确实是这个问题 当时傻了 哈哈
    2017-07-10 22:24:57
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师