我们可以在java中实现接口内部的任何方法吗

我们可以在java中实现接口内部的任何方法吗,java,interface,Java,Interface,我们能否在接口中实现上述方法, 或者我们只能在接口中定义方法。是的,您可以在Java 8中使用默认方法 interface temp { public int add(int a,int b) { return a+b; } } interface temp { public static int add(int a,int b) { return a+b; } } 正如Thilo在评论中提到的,Java 8还增加了在接口中使用静态

我们能否在接口中实现上述方法,
或者我们只能在接口中定义方法。

是的,您可以在Java 8中使用默认方法

interface temp
{
   public int add(int a,int b)
   {
      return a+b;
   }
}
interface temp
{
   public static int add(int a,int b)
   {
      return a+b;
   }
}
正如Thilo在评论中提到的,Java 8还增加了在接口中使用静态方法的可能性:

interface temp
{
   default public int add(int a,int b)
   {
      return a+b;
   }
}

若您并没有使用
Java8
,那个么您只能在接口中定义方法

interface temp
{
   public static int add(int a,int b)
   {
      return a+b;
   }
}

这是
Java8

中引入的一个新特性“接口中的默认方法”:挑剔:因为OP询问任何方法,所以答案是否定的,因为我们无法以这种方式实现对象类中的方法,如
equals
toString
。挑剔响应:OP询问我们是否可以实现任何方法。不是所有的方法。但是如果在界面中为
toString
提供默认值,会发生什么呢?在实现它的类上出现了一些编译错误(要求它显式地指定它要继承的
toString
)@我认为它从未被使用过,因为从父类或
对象继承的
toString
始终存在precedence@Thilo它确实会产生编译错误。关于第二点,如果继承相同的默认方法,则必须提供一个实现,方法是显式地将调用委托给某个接口,或者提供自己的实现。@反斜杠:该线程已过期。在当前版本的Java中,可能已经在接口中实现了方法,allbeit默认方法。@Stultuske您读过有问题的线程了吗?公认的答案都是关于这一点的。@AlexisC:毫无疑问,这就是为什么他们在Java 6I上大干一场的原因。我同意这个副本有点不对劲,因为它谈论的是静态方法(默认方法只是顺便提一下)。无论哪种方式,使用Java8,您现在都有这两个选项。在此之前,您两个都没有。有关更多信息,请参阅。