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();