Java 类使用相同的方法实现两个接口?

Java 类使用相同的方法实现两个接口?,java,methods,interface,abstract,Java,Methods,Interface,Abstract,/主类/ } 这里接口在此类中实现。基本上接口继承两个或多个类,但在这里,同一方法中的两个不同类都使用两种方法,在一个类中实现哪种方法。请检查错误更正代码。如果要创建接口继承,可以这样做: public class Amphibians implements Mammals,Fish { public void eat() { System.out.println("Amphibians eating"); } public voi

/主类/

}


这里接口在此类中实现。基本上接口继承两个或多个类,但在这里,同一方法中的两个不同类都使用两种方法,在一个类中实现哪种方法。请检查错误更正代码。

如果要创建接口继承,可以这样做:

public class Amphibians implements Mammals,Fish
 {
     public void eat()
   {          
   System.out.println("Amphibians eating");
   }
       public void travel()
   {
      System.out.println("Amphibians traveling");
   } 

/*Main Method*/
   public static void main(String args[])
 {
      Amphibians a = new Amphibians();
      a.eat();
      a.travel();
   }
现在,通过实现
Birds
,您将拥有
Bird
的所有方法以及
Animal
方法。实际上,如果一个类实现了
Animal
Bird
如果方法相同,那么一个特定的类定义了一种行为,这并不重要


例如,如果一只
鹦鹉
执行
旅行
作为一种动物或作为一只
,它不应该在这两种情况下都飞行吗?

我想你没有正确地描述

你可能想写信

public interface Birds extends Animal
现在,您的疑问是
接口
都有相同的名称方法
eat()
travel()
。因此您混淆了java是如何执行它们的


如果在两个接口中有两个名称相同的方法,并且某个类使用两个接口实现,那么一个实现将同时作用于两个接口。

我不确定您想知道什么。但是如果您想知道,这个类是否可以实现这两个接口。然后是的,但是为任何接口调用eat()或travel()都会得到与在Emalumani类中定义的相同的结果。我希望这有帮助

接口方法必须由 实现它们

现在假设有两个接口,然后它们都说同一件事,具体类必须实现方法
eat()

现在在您的例子中,
接口
都说具体的类必须实现方法
eat()
travel()
。因此,当您实现两个接口时,您只需要一个实现

建议:

public class MammalAni implements Animal,Birds{

我不明白你的问题…你想要一个实现两个接口的类吗?问题是什么?请编辑你的问题使其更清楚,但suresh atta答案就是你所看到的我认为我不认为因为英语不好而否决一个问题是好的做法——示例代码为解释留下了空间,但是不同的问题本身并不愚蠢,只是英语很难理解。有趣的是,所有不同的解释都得到了回答!:)
public class MammalAni implements Animal,Birds{
public interface CanEat{
    public void eat();
}

public interface CanTravel{
    public void travel();
}

public interface Animal extends CanEat,CanTravel{
    //only methods specific for animal will be here
}

public interface Birds extends CanEat,CanTravel{
    //only methods specific to birds will be here like flying
}

So that tomorrow if you create a robotic Animal
public interface RoboticAnimal extends CanTravel{
   //no need for using CanEat interface as robot does not eat
}