具有不同方法参数的Java接口
我希望有一个接口,允许我使用不同参数的方法。假设我有一个接口:具有不同方法参数的Java接口,java,interface,Java,Interface,我希望有一个接口,允许我使用不同参数的方法。假设我有一个接口: public interface Stuff { public int Add(); } 我有两个类A和B实现这个接口 public class CLASS A implements Stuff{ public int Add(int id); } public class CLASS B implements Stuff{ public int Add(String name); } 如何实现
public interface Stuff {
public int Add();
}
我有两个类A和B实现这个接口
public class CLASS A implements Stuff{
public int Add(int id);
}
public class CLASS B implements Stuff{
public int Add(String name);
}
如何实现这一点?要么重载方法:
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);
}
公共接口的东西{
公共int add(TA);
}
您可以编写一个用于添加某些类型的通用接口,如下所示:
public interface Addable<T> {
public int add(T value);
}
公共接口可添加{
公共整数加总(T值);
}
然后通过
public class ClassA implements Addable<Integer> {
public int add(Integer value) {
...
}
}
public class ClassB implements Addable<String> {
public int add(String value) {
...
}
}
公共类ClassA实现了可添加{
公共整数加法(整数值){
...
}
}
公共类ClassB实现了可添加的{
公共整数加法(字符串值){
...
}
}
您需要重写该方法
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));
}
}
这是您想要的吗?两个选项都可用,但我个人更喜欢泛型。您如何称呼这一选项polymorphically@station就像你用多态性来称呼其他事物一样。