@UIWP

Почему не выводит метод say?

Здравствуйте. Код из обучающей книги компилируется без ошибок но переопределенный метод say из класса FishMaster не срабатывает. В консоль выводится все что должно кроме результата метода say, будто его вообще нет. Почему?
sdk 17.0.5, ide IDEA community edition
public class Pet {
    int age;
    float weight;
    float height;
    String color;
    public void sleep(){
        System.out.println("Спокойной ночи! До завтра");
    }
    public void eat() {
        System.out.println("Я очень голоден, давайте перекусим чипсами!");
    }
    public String say(String aWord){
        String petResponse = "Ну ладно!!" +aWord;
        return petResponse;
        }
    }


public class PetMaster {
    public static void main(String[] args){
        String petReaction;
        Pet myPet = new Pet();
        myPet.eat();
        petReaction = myPet.say("Чик!! Чирик!!");
        System.out.println(petReaction);
        myPet.sleep();
    }
}


public class Fish extends Pet {
    int currentDepth = 0;
    public int dive (int howDeep) {
        currentDepth = currentDepth + howDeep;
        System.out.println("Ныряю на глубину " + howDeep + " футов");
        System.out.println("Я на глубине " + currentDepth + " футов ниже уровня моря");
        return currentDepth;
    }
    public String say(String something) {
        return "Ты чё не знаешь, что рыбы не разговаривают?";
    }
}


public class FishMaster {
    public static void main(String[] args){
        Fish myFish = new Fish();
        myFish.say("Привет");
        myFish.dive(2);
        myFish.dive(3);
        myFish.sleep();
    }
}


63b2991e4d08a193776432.png
  • Вопрос задан
  • 134 просмотра
Решения вопроса 1
azerphoenix
@azerphoenix Куратор тега Java
Java Software Engineer
public String say(String something) {
        return "Ты чё не знаешь, что рыбы не разговаривают?";
    }


Fish myFish = new Fish();
        myFish.say("Привет");


Обратите внимание, что метод возвращает переданное значение через return в место вызова метода. Вот, только вы ее не выводите в консоль и не присваиваете к переменной

попробуйте
Fish myFish = new Fish();
String fishSay = myFish.say("Привет");
System.out.println(fishSay);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
al_gon
@al_gon
Вы там System.out.println() забыли
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы