我刚刚在我的 IDE 中收到一个警告,我的类是abstract
,但它是从concrete
类派生的。什么?为什么我不能这样做?这非常适合我的需求。这只是一个警告,所以该类是可编译的。只是对它为什么给我这个警告感兴趣。谢谢你。
更新
我需要用一些解释来扩展我的问题。我有这个类派生自其他类,我希望没有人能够实例化它。此外,我需要这个抽象类的两个子类,每个子类都有自己的一个抽象方法的实现。这就是为什么。
你认为这是个坏主意吗?我应该采取什么方法呢?
我认为原因可能是抽象类通常用于创建子类的基本行为/信息。在做出这样的决定时考虑其他程序员。其他人并不期待。
无论如何,您可以设置编译器首选项不对此类“问题”发出警告。
更新
阅读您的更新后,我认为最简单的方法是声明此类的constructor protected
. 对于抽象方法:override
我认为您可以简单地从您的子类中获取。
你可以这样做。这就是为什么您收到警告而不是错误的原因。
这是一种常见的情况,通常表明系统架构不好。这就是编译器显示警告的原因。
Java 编译器警告只是对程序员的一个指示,不应正常执行,否则程序员将来可能会因此而遇到错误。
请参阅此链接,因为它解释了为什么要担心警告