【问题标题】:How many concrete methods can an interface have (JDK 7 and below) [duplicate]一个接口可以有多少个具体方法(JDK 7及以下)[重复]
【发布时间】:2019-11-20 17:24:23
【问题描述】:

一个接口可以有多少个具体方法(JDK 7 及以下) JDK 7 及以下。我试图到处研究,但找不到任何东西。

【问题讨论】:

    标签: java


    【解决方案1】:

    接口不能有任何具体的方法。如果您需要具有抽象方法定义和具体方法的能力,那么您应该使用抽象类。

    注意:这仅适用于 JDK 7 及更低版本。 JDK 8 包括在接口中提供具体方法的默认方法。 (感谢 EJoshuaS)

    【讨论】:

    • 这只是部分正确。 Java 8 有default methods,这基本上是 OP 所要求的。 Java 7 及更低版本没有。
    • 谢谢。所以接口不能包含具体方法?
    • @GulfamChoudhary 是的,在 JDK 7 及以下版本中,接口不能包含具体方法。
    • 您应该编辑您的答案以指定 Java 7 的正确答案,因为此答案对于 Java 8 及更高版本不正确。
    • @EJoshuaS 我将添加一个说明,但我认为没有必要进行区分,因为问题指定了 JDK 7 及更低版本。
    【解决方案2】:

    Java 8 有default methods,这基本上就是您要问的问题。但是,Java 7 及更低版本不能拥有它;它只能指定强制方法​​签名。因此,您的问题的答案是“根本没有 - Java 7 不允许这样做。”

    据我所知,接口可以拥有的方法数量没有硬性限制。话虽如此,如果您甚至问这个问题,您可能会遇到设计问题,因为您可能正在考虑让您的界面太大。一个好的经验法则是,如果你在描述一个接口的用途,你不应该使用“和”这个词——如果你发现你这样做了,你应该重构它以将它分成多个接口。

    编辑:显然最大值是 65535,但没有理由你应该有任何接近这个值的东西。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-04-11
      • 2010-11-27
      • 1970-01-01
      • 1970-01-01
      • 2017-09-12
      • 2014-05-07
      • 2013-07-06
      相关资源
      最近更新 更多