我刚刚在我的 IDE 中收到警告,我的类是 abstract
但它派生自 concrete
类。什么?为什么我不能这样做?这非常适合我的需要。这只是一个警告,所以该类是可编译的。只是感兴趣为什么它会给我这个警告。谢谢。
更新
我需要用一些解释来扩展我的问题。我有这个类派生自其他类,我希望没有人能够实例化它。此外,我需要这个抽象类的两个子类,并且每个子类都有自己的一个抽象方法的实现。这就是为什么。
你认为这是个坏主意吗?我应该改用什么方法?
最佳答案
我认为原因可能是抽象类通常用于创建子类的基本行为/信息。在做出这样的决定时考虑其他程序员。其他人并不期望它。
无论如何,您可以设置编译器首选项,不对此类“问题”发出警告。
更新
阅读您的更新后,我认为最简单的方法是声明此类的constructor protected
。
对于抽象方法:我认为您可以简单地从您的子类中覆盖
。
关于java - 从具体类派生的抽象类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14894057/