Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.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_Inheritance_Methods - Fatal编程技术网

Java 如何选择重写的方法?

Java 如何选择重写的方法?,java,inheritance,methods,Java,Inheritance,Methods,我有以下代码: class Amphibian { public void moveInWater(){ System.out.println("Moving in water"); } } public class Frog extends Amphibian { public void moveInWater() { System.out.println("... from the Land"); } pu

我有以下代码:

    class Amphibian {
      public void moveInWater(){
      System.out.println("Moving in water");
    }
}
    public class Frog extends Amphibian {
      public void moveInWater() {
      System.out.println("... from the Land");
 }
      public static void main (String[] args) {
      Frog wood = new Frog();
      wood.moveInWater();
    }
}
我知道重写的方法将获得输出: “…来自陆地”如果我把super.moveInWater()放进去;在基类中,该方法将得到“在水中移动”。 有没有一种方法可以根据我的意愿从base或derivate中选择方法的调用?实质上,保持两种产出,并从两种产出中选择一种或另一种


Grazie

请随意定义一种新方法

public void moveAsAmphibian(){

    super.moveInWater();
}

将您的方法名称更改为
moveInWater()
@DimaSan:是的,对不起:)另外,您在
Frog
类的
moveInWater()
函数末尾缺少了一个
。可能是@CarlosRivero:的重复,因为我是用智能手机编写代码的