我想有一个允许我使用不同参数的方法的接口.假设我有一个界面:
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)
我怎样才能做到这一点?
您可以编写一个通用接口来添加某些类型,如下所示:
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)
要么重载方法:
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)