【问题标题】:JAVA - define a method in interfaceJAVA - 在接口中定义一个方法
【发布时间】:2014-11-26 07:23:13
【问题描述】:

我想在 JAVA 接口中定义一个方法。原因是每次我实现接口的方法都是一样的,但是我需要为特定的类实现两个接口。示例:

interface A
method A()

interface B
method B()

class first implements A,B

class second implements A

方法 A() 到处都有相同的主体。

【问题讨论】:

  • 您可以在 Java 8 中使用 default 关键字来做到这一点。你不能在早期版本中做到这一点。 docs.oracle.com/javase/tutorial/java/IandI/defaultmethods.html
  • 或者你可以使用abstract类代替interface A
  • 只要只有接口A需要实现,你就可以在java B接口
  • 我在考虑抽象类,但我想实现更多带有已定义方法的接口。感谢 khelwood 的回答,您的评论对我很有帮助。

标签: java class methods interface


【解决方案1】:

从 Java 8 开始,您可以将方法实现放入接口中。 http://docs.oracle.com/javase/tutorial/java/IandI/defaultmethods.html

interface A {
    default void aMethod() {
        // method body
    }
}

在早期版本中,您必须将A 设为类而不是接口。如果更适合您的模型,则为抽象类。

abstract class A {
     public void aMethod() {
          // method body
     }
}

class first extends A implements B {
    ...
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-16
    • 2011-02-13
    • 2015-01-26
    • 2020-06-21
    • 1970-01-01
    • 2010-09-19
    • 2021-09-30
    相关资源
    最近更新 更多