scala实现了具有相同方法名称的两个接口



假设我在java中定义了以下两个接口:

public interface A
{
  public void test();
}
public interface B
{
  public void test();
}

那么我可以定义一个scala类来实现这两个接口吗?

class C extends A with B {

}

如何定义两种test()方法?

如果需要实现这两个方法,则需要具有不同的方法名称、不同的方法参数列表或不同的类。从3个选项中选择1个。这在Scala和Java中都是正确的。

(好吧,从技术上讲,你可以使用某种形式的元编程,但你可能不想。)

您可以定义这个类,但它只有一个函数test()的实现。这在两个接口都有共同点的情况下非常有用,例如getName()或getTimestamp()。名称或时间戳与创建的对象有关,而与接口实现无关。

最新更新