2016-01-22 213 views
0

我要實現我的班,從另一個接口擴展的接口界面,但我得到了如下錯誤:類實現擴展另一個接口

Class1 is not abstract and does not override abstract method method2(param1,param2) in Interface2

public class Class1 implements Interface1 {  
    public Class1() { 
     //some init 
    } 

    @Override 
    public Object method1(Object param1) { 
     //some code 
    } 

    @Override 
    public void method2(Object param1, Object param2) { 
     //some code 
    }   
} 

public interface Interface1 extends Interface2 {  
    //some specific code 
} 

public interface Interface2 { 
    public Object method1(Object param1); 
    public void method2(Object param1, Object param2); 
} 

爲什麼它不工作,什麼我必須這樣做嗎?

+0

你沒」 T正確方法2重寫,因爲接口簽名不返回任何東西,你的實現返回_Object_。 – Berger

+0

抱歉是一個錯誤,我糾正了它! –

+3

插入param1和param2的類型...如果你用正確的參數覆蓋了這個方法,這個例子會編譯得很好。 – ParkerHalo

回答

0

提供參數參數1和參數 類型試試這個

public class Class1 implements Interface1 {  
    public Class1() { 
     //some init 
    } 

    @Override 
    public Object method1(String param1) { 
     //some code 
     return null; 
    } 

    @Override 
    public void method2(String param1,String param2) { 
     //some code 
    }   
} 


interface Interface1 extends Interface2 {  
    //some specific code 
} 


interface Interface2 { 
    public Object method1(String param1); 
    public void method2(String param1,String param2); 
} 
+0

啊...對象只是這個代碼中的一個示例...我在代碼中並沒有真正使用它,但是謝謝... –

+0

我的錯誤如下:在interface2中,我在方法params中使用了一個枚舉而且..我在interface2中定義了它.... –