我刚刚在IDE中收到一条警告,我的班级是abstract
,但它来自concrete
班级。什么?我为什么不能这样做?这非常符合我的需求。这只是一个警告,所以课程是可编辑的。只是感兴趣为什么它给了我这个警告。谢谢。
更新
我需要用一些解释来扩展我的问题。我有这个类派生自其他类,我希望没有人能够实例化它。而且,我需要来自这个抽象类的两个子类,并且每个子类都有自己的一个抽象方法的实现。这就是原因。
你认为这是个坏主意吗?我应该采取什么方法呢?
答案 0 :(得分:3)
我认为原因可能是抽象类通常用于创建子类的基本行为/信息。在做出这样的决定时考虑其他程序员。其他人不期待它。
无论如何,您可以设置编译器首选项,而不是为此类问题提供警告"。
<强>更新强>
阅读完更新后,我认为最简单的方法是宣布此课程constructor protected
。
对于抽象方法:我认为你可以简单地override
来自你的子类。
答案 1 :(得分:2)
你可以做到这一点。这就是你得到警告而不是错误的原因。
这是一种常见情况,通常指向糟糕的系统架构。这就是编译器显示警告的原因。
答案 2 :(得分:0)
Java编译器警告只是程序员不应该正常完成的指示,否则程序员可能会在将来遇到错误。
See this link因为它解释了为什么要打扰警告