【发布时间】:2021-04-18 19:26:34
【问题描述】:
我想要一个接口,允许我使用带有可选参数的方法。假设我有一个接口:
public interface Stuff {
public int Add();
}
我有两个实现接口的类 A 和 B。一种方法需要参数,而另一种方法不需要。
public class CLASS A implements Stuff{
public int Add();
}
public class CLASS B implements Stuff{
public int Add(String name);
}
我怎样才能做到这一点?
【问题讨论】:
-
如果参数不一样,接口有什么意义呢?您将无法在接口上调用该方法,因为编译器不知道要使用哪组参数。还不如去掉界面。请说明您希望从这个“接口”中获得什么行为,而不是仅仅说您想要一个执行“这个”的接口。
-
我认为 varargs 是你要找的
-
@villager 即使使用可变参数,您也无法更改参数列表。一个更好的主意是总是有一个 String 参数,当你不需要它时忽略它。 Varargs 应该是传入对象数组的便捷方式,它并不是真正的“可选”参数。