从具体类派生的抽象类

时间:2013-02-15 11:46:46

标签: java oop

我刚刚在IDE中收到一条警告,我的班级是abstract,但它来自concrete班级。什么?我为什么不能这样做?这非常符合我的需求。这只是一个警告,所以课程是可编辑的。只是感兴趣为什么它给了我这个警告。谢谢。

更新

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

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

3 个答案:

答案 0 :(得分:3)

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

无论如何,您可以设置编译器首选项,而不是为此类问题提供警告"。

<强>更新

阅读完更新后,我认为最简单的方法是宣布此课程constructor protected。 对于抽象方法:我认为你可以简单地override来自你的子类。

答案 1 :(得分:2)

你可以做到这一点。这就是你得到警告而不是错误的原因。

这是一种常见情况,通常指向糟糕的系统架构。这就是编译器显示警告的原因。

答案 2 :(得分:0)

Java编译器警告只是程序员不应该正常完成的指示,否则程序员可能会在将来遇到错误。

See this link因为它解释了为什么要打扰警告