說我有在Java中定義了以下兩種接口:斯卡拉實現兩個接口有相同的方法名
public interface A
{
public void test();
}
public interface B
{
public void test();
}
然後,我可以定義一個階類來實現這兩個接口?
class C extends A with B {
}
如何定義兩個test()
方法?
說我有在Java中定義了以下兩種接口:斯卡拉實現兩個接口有相同的方法名
public interface A
{
public void test();
}
public interface B
{
public void test();
}
然後,我可以定義一個階類來實現這兩個接口?
class C extends A with B {
}
如何定義兩個test()
方法?
如果您需要實現這兩種方法,您需要具有不同的方法名稱,不同的方法參數列表或不同的類。從3個選項中選擇1個。在Scala和Java中都是如此。
(當然,從技術上可以使用某種形式的元編程的,但你可能不希望。)
你可以定義這個類,但它只有一個函數test()的實現。這在兩個接口都有相當常見的情況下很有用,例如getName()或getTimestamp()。名稱或時間戳記與創建的對象有關,而與接口實現無關。
但我需要實現在這種情況下這兩種接口的方法。 – user79074
這裏有一些更多: http://www.scala-lang.org/old/node/117.html http://blog.safaribooksonline.com/2013/05/30/traits-how-scala-tames-多重繼承/ –
單個方法簽名的兩個實現是什麼意思?這是不可能的。 –