【问题标题】:Java Interface two method with optional parameters [duplicate]带有可选参数的Java接口两种方法[重复]
【发布时间】: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 应该是传入对象数组的便捷方式,它并不是真正的“可选”参数。

标签: java object


【解决方案1】:

我认为你必须重写函数。

你可以在这里阅读 => https://www.geeksforgeeks.org/overriding-in-java/

【讨论】:

  • 这并没有解决任何问题。重写方法的全部意义在于它保留了方法头,但允许您更改方法体。如果参数发生变化,那么您已经更改了方法头,并且您不再覆盖该方法。
猜你喜欢
  • 2011-11-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-27
  • 2015-03-21
  • 1970-01-01
  • 2023-03-28
  • 1970-01-01
相关资源
最近更新 更多