2017-05-23 11 views
1

異なるパラメータのメソッドを使用できるようにするインターフェイスが必要です。異なるメソッドパラメータを持つJavaインターフェイス

public interface Stuff { 
    public int Add(); 
} 

私はインターフェイスを実装する2つのクラスAとBを持っています。

public class CLASS A implements Stuff{ 
    public int Add(int id); 
} 


public class CLASS B implements Stuff{ 
    public int Add(String name); 
} 

どうすればこの問題を解決できますか?

答えて

8

あなたは、いくつかを追加するための汎用的なインタフェースを書くことができますタイプ:このようなもの:

public interface Addable<T> { 
    public int add(T value); 
} 

、その後、あなたが方法

public class CLASS A implements Stuff{ 
    public int add(int a ,int b){ 
     int result=a+b; 
     return result; 
    } 
    public static void main(String[] args) { 
     // TODO Auto-generated method stub 
     A ab=new A(); 
     ab.add(3, 4); 
     System.out.println(ab.add(3, 4)); 
    } 

} 

をオーバーライドする必要が

public class ClassA implements Addable<Integer> { 
    public int add(Integer value) { 
     ... 
    } 
} 

public class ClassB implements Addable<String> { 
    public int add(String value) { 
     ... 
    } 
} 
+0

ありがとうございました! – fredjohnson

4

のいずれかのメソッドをオーバーロード:

public interface Stuff { 

    public int add(String a); 
    public int add(int a); 

} 

や相続に共通で何かをチェック

public interface Stuff { 

    public int add(Object a); 

} 

または使用ジェネリック

public interface Stuff<T> { 

    public int add(T a); 

} 
0

を経由して、それを実装するには、あなたがしたい、このですか?

関連する問題