所以我只是想学习来自 C++ 背景的 java,作为快速提升的一部分,我只是从抽象类实现了一个基类,如下所示
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();
}
即使我的具体类没有实现抽象方法也不是抽象类,这还是通过了。不应该抛出编译错误吗?或者我在这里遗漏了一些非常基本的东西
PS:eclipse 显示的错误是静态分析的一部分,但我仍然想知道这个程序是如何编译和运行的,没有任何问题
最佳答案
Eclipse 编译器有点特殊。如果代码未编译,它会生成错误消息,但仍会通过生成抛出异常的虚拟方法来编译类。
如果您运行的项目存在编译错误,它会警告您不应该这样做,但您仍然可以继续。
只是不要那样做,也不要忽略来自编译器的错误消息。
关于java - 没有抛出抽象方法未实现的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28475433/