首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有没有一种方法可以让方法不是抽象的,但必须被覆盖?

有没有一种方法可以让方法不是抽象的,但必须被覆盖?
EN

Stack Overflow用户
提问于 2011-10-20 15:21:34
回答 10查看 11.5K关注 0票数 55

有没有办法强制子类覆盖超类的非抽象方法?

我需要能够创建父类的实例,但是如果一个类扩展了这个类,它必须给出一些方法的自己的定义。

EN

回答 10

Stack Overflow用户

发布于 2011-10-20 15:26:33

考虑使用此方法创建一个接口。类的后代将不得不实现它。

票数 6
EN

Stack Overflow用户

发布于 2012-02-05 00:20:56

我认为最简单的方法是创建一个从基类继承的抽象类:

代码语言:javascript
复制
public class Base {
    public void foo() {
        // original method
    }
}

abstract class BaseToInheritFrom extends Base {
    @Override
    public abstract void foo();
}

class RealBaseImpl extends BaseToInheritFrom {
    @Override
    public void foo() {
        // real impl
    }
}
票数 5
EN

Stack Overflow用户

发布于 2011-10-20 15:25:05

不,这是抽象方法的全部意义所在。你的用例是什么?也许我们可以根据潜在的需求来考虑它。

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

https://stackoverflow.com/questions/7832444

复制
相关文章

相似问题

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