没有抛出抽象方法未实现的错误

Abstract methods not-implemented error is not being thrown

所以我只是想学习来自 C++ 背景的 java,作为快速提升的一部分,我刚刚从抽象 class 中实现了一个基础 class,如下所示

abstract class my_abstract_class
{
    abstract void my_abstract_function();
}

class my_concrete_class extends my_abstract_class
{

}

public class ConcreteClasses {

    public static void main(String args[])
    {
        my_concrete_class my_concrete_class = new my_concrete_class();

    }

即使我的具体 class 没有实现抽象方法也不是抽象方法 class,这还是通过了。不应该抛出编译错误吗?或者我在这里遗漏了一些非常基本的东西

PS: 作为静态分析的一部分,eclipse 显示了这个错误,但我仍然想知道这个程序是如何编译和运行的,没有任何问题

Eclipse 编译器有点特殊。如果代码未编译,它会生成错误消息,但仍会通过生成抛出异常的虚拟方法来编译 类。

如果您 运行 一个有编译错误的项目,它会警告您不应该这样做,但您仍然可以继续。

只是不要那样做,也不要忽略来自编译器的错误消息。