首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在java中实现抽象方法/类

在java中实现抽象方法/类
EN

Stack Overflow用户
提问于 2011-10-06 01:47:15
回答 7查看 30.7K关注 0票数 4

我可以在java的抽象基类A中实现抽象方法吗?

如果答案是肯定的,并且在基类A中有一个实现的抽象方法,并且有一个来自A的派生类B (B不是抽象的)。B还需要实现那个基础抽象方法吗?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2011-10-06 01:56:57

如果我没理解错你的问题,是的。

代码语言:javascript
复制
public abstract class TopClass {
  public abstract void methodA();
  public abstract void methodB();
}

public abstract class ClassA extends TopClass {
  @Override
  public void methodA() {
    // Implementation
  }
}

public class ClassB extends ClassA {
  @Override
  public void methodB() {
    // Implementation
  }
}

在本例中,ClassB将进行编译。它将使用自己的methodB()实现,以及ClassA的methodA()实现。如果需要,还可以在ClassB中覆盖methodA()。

票数 9
EN

Stack Overflow用户

发布于 2011-10-06 01:51:54

你可以有两个抽象类,X和Y,其中Y扩展了X。在这种情况下,Y实现X的抽象方法,同时仍然是抽象的,这可能是有意义的。另一个非抽象类Z可以扩展Y。然而,在您的示例中,对于A实现自己的抽象方法是矛盾的,将它们抽象的意义在于它不提供实现,它只是指定方法签名应该是什么样子的。

票数 1
EN

Stack Overflow用户

发布于 2011-10-06 01:54:00

如果你实现了一个抽象的方法,它就不再是真正的抽象了,所以不是。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7665417

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档