Java接口具有不同的方法参数

fre*_*son 2 java interface

我想有一个允许我使用不同参数的方法的接口.假设我有一个界面:

public interface Stuff {
    public int Add();
 }
Run Code Online (Sandbox Code Playgroud)

我有两个实现接口的A和B类.

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


public class CLASS B implements Stuff{
    public int Add(String name);
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

khe*_*ood 9

您可以编写一个通用接口来添加某些类型,如下所示:

public interface Addable<T> {
    public int add(T value);
}
Run Code Online (Sandbox Code Playgroud)

然后通过实现它

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

public class ClassB implements Addable<String> {
    public int add(String value) {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)


ΦXo*_*a ツ 6

要么重载方法:

public interface Stuff {

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

 }
Run Code Online (Sandbox Code Playgroud)

或检查继承中的共同点

public interface Stuff {

    public int add(Object a);

 }
Run Code Online (Sandbox Code Playgroud)

或使用泛型

public interface Stuff<T> {

    public int add(T a);

 }
Run Code Online (Sandbox Code Playgroud)