5

我刚刚在我的 IDE 中收到一个警告,我的类是abstract,但它是从concrete类派生的。什么?为什么我不能这样做?这非常适合我的需求。这只是一个警告,所以该类是可编译的。只是对它为什么给我这个警告感兴趣。谢谢你。

更新

我需要用一些解释来扩展我的问题。我有这个类派生自其他类,我希望没有人能够实例化它。此外,我需要这个抽象类的两个子类,每个子类都有自己的一个抽象方法的实现。这就是为什么。

你认为这是个坏主意吗?我应该采取什么方法呢?

4

3 回答 3

3

我认为原因可能是抽象类通常用于创建子类的基本行为/信息。在做出这样的决定时考虑其他程序员。其他人并不期待。

无论如何,您可以设置编译器首选项不对此类“问题”发出警告。

更新

阅读您的更新后,我认为最简单的方法是声明此类的constructor protected. 对于抽象方法:override我认为您可以简单地从您的子类中获取。

于 2013-02-15T11:51:32.133 回答
2

你可以这样做。这就是为什么您收到警告而不是错误的原因。

这是一种常见的情况,通常表明系统架构不好。这就是编译器显示警告的原因。

于 2013-02-15T11:49:10.443 回答
0

Java 编译器警告只是对程序员的一个指示,不应正常执行,否则程序员将来可能会因此而遇到错误。

请参阅此链接,因为它解释了为什么要担心警告

于 2013-02-15T11:55:06.140 回答