Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当重写一个方法,比如()然后运行该程序时,我没有得到预期的打印结果_Java - Fatal编程技术网

Java 当重写一个方法,比如()然后运行该程序时,我没有得到预期的打印结果

Java 当重写一个方法,比如()然后运行该程序时,我没有得到预期的打印结果,java,Java,我有一个超类宠物,代码如下: 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 s

我有一个超类宠物,代码如下:

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;
    }
}
我创建了pet,Fish的子类:

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时,它不会输出:难道你们不知道鱼不会说话吗? 它不输出任何东西

为什么呢?我需要放些什么才能让它输出:难道你不知道鱼不会说话吗

这是一本书《面向孩子、父母和祖父母的Java编程》中的一节课,我从另一个问题中找到了链接。

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

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

这是因为你没有打印任何东西,你只是返回一个字符串

尝试更改您的主要方法:

行myFish.sayHello应该包含在System.out.println myFish.say中,它只是返回一个字符串,但不处理它。你需要打印任何由say返回的内容,比如说,我需要输入什么才能将其输出:难道你不知道鱼不会说话吗? 让你的说话方法像这样

   public void say() {
     System.out.println("Don't you know fish do not talk?");
 }               
这么说吧

  Fish myFish = new Fish();

  myFish.say();

您的say方法当前只返回一个字符串,您需要打印返回的字符串 或者在say方法中包含一个打印

  Fish myFish = new Fish();

  myFish.say();