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

时间:2013-11-26 23:41:29

标签: java scala

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

public interface A
{
  public void test();
}

public interface B
{
  public void test();
}

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

class C extends A with B {


}

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

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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