gpt4 book ai didi

java - 重写 Java 中的方法

转载 作者:行者123 更新时间:2023-12-01 19:06:50 24 4
gpt4 key购买 nike

好吧,我正在学习java,并使用这个:http://www.myflex.org/books/JavaKid8x11.pdf教程。我目前在第 37 页,但我似乎无法超越这条鱼。我很确定我准确地复制了代码,但显然我做错了什么,所以这是我的代码。这是 Pet 类:

public class Pet {
int age;
float weight;
float height;
String color;

public void sleep() {
System.out.println(
"Good night, see you tommorow");
}

public void eat() {
System.out.println(
"I'm so hungry...let me have a snack like nachos!");
}

public String say(String aWord) {
String petResponse = "OK!! OK!! " +aWord;
return petResponse;
}
}

这是 Fish 类的父类(super class):

public class Fish extends Pet {

public String say(String something) {
return "Don't you know that fish do not talk?";
}

int currentDepth=0;

public void sleep() {
System.out.println("I need to rest");
}

public int dive(int howDeep) {
currentDepth=currentDepth + howDeep;
System.out.println("Diving for " + howDeep + " feet");
System.out.println("I'm at " + currentDepth + " feet below sea level");
return currentDepth;
}
}

FishMaster 使用 Fish 类:

public class FishMaster {

public static void main(String[] args) {

Fish myLittleFish = new Fish();
myLittleFish.say("Hello!");
myLittleFish.dive(2);
myLittleFish.dive(3);

myLittleFish.sleep();
}
}

问题是当我试图覆盖 Fish 类中的 say 方法时。虽然超越 sleep 方法效果很好,但 say 方法不再执行任何操作。我运行它,它没有打印“难道你不知道鱼不能说话吗?”正如书上所说的那样。我做错了什么吗,或者 say 函数只是假设不打印任何内容。感谢反馈,谢谢。

最佳答案

该方法返回一个字符串,但不会打印它。尝试:

System.out.println(myLittleFish.say("Hello!"));

澄清一下:

// we assign the string returned from the method to a variable
String sentence = myLittleFish.say("Hello!");
// we print the variable to screen
System.out.println(sentence);

关于java - 重写 Java 中的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9728435/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com