java - 当重写方法 say(),然后运行程序时,我没有得到预期打印的内容

标签 java

我有一个父类(super class)宠物,代码如下:

package pet;

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

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

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;
    }
}

我创建了宠物鱼的子类:

package pet;

public class Fish extends pet {
public static void main(String[] args) {
    // TODO Auto-generated method stub
    Fish myLittleFish = new Fish();
    myLittleFish.sleep();
    }

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

}

然后我创建了另一个类 FishMaster:

package pet;

public class FishMaster {

public static void main(String[] args) {

    Fish myFish = new Fish();

    myFish.say("Hello");
   }

}

当我运行 FishMaster 时,它不输出:难道你不知道鱼不说话吗? 它不输出任何内容。

这是为什么呢?我需要输入什么才能使其输出:难道你不知道鱼不说话吗?

这是《面向 child 、 parent 和祖 parent 的 Java 编程》一书中的类(class),我在另一个问题中找到了该书的链接。

最佳答案

say 返回一个字符串,但不显示它

System.out.println(myFish.say("Hello"));

关于java - 当重写方法 say(),然后运行程序时,我没有得到预期打印的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27760432/

相关文章:

java - 在奇怪的情况下,多部分配置不适用于动态添加的 servlet

java - java 如何允许用户输入

java - 在 Java 中存储一个比 long 类型长的数字

java - 我可以将 HashMap 键和值交换到其他吗?

java - maven如何找到Java编译器?

java - Maven:通过属性复制依赖项

java - 如何获取 jdbc 的输出或错误流

Java - 覆盖 Web 服务调用上的 WebRequest

java - 支持 Activity STM库

java - org.tmatesoft.sqljet.core.SqlJetException : BUSY: error code is BUSY 问题