尽管发生错误,当我尝试在Eclipse IDE中运行program.java时,它将在控制台中显示输出。但是,当我尝试使用CMD编译同一程序时,会引发编译错误。我正在学习和尝试抽象课。 (我知道我们必须在B类之前添加摘要)。
Eclipse IDE正在缓存程序的构建,因此,他每次都不会再次完全编译,而不会再次完全编译,而是仅更改源代码。 Eclipse具有此选项,如果在构建时出错,它将使用较旧的编译版本进行编译,以便您可以执行它。
所以我认为这是主要问题。
请尝试清理所有内容,然后在Eclipse中重建并查看它是否继续运行
对于Eclipse,您可以在Project> Clean下找到rebuild选项,然后选择项目
Eclipse使用其自己的编译器,该编译器允许进行增量编译,即使有错误也可以构建项目,以及其他一些事情。每次保存时,它都会自动生成,因此它可能已经编译了文件的先前版本(有效)。
您在命令行中使用的javac
可能是Oracle或OpenJDK版本,当它们中有任何错误时,它们不允许您构建项目。
关于您的实际代码,您应该将B
标记为abstract
,或者实际上实现在display
中声明的抽象A
方法,因为只允许抽象类具有抽象方法。
[每次您尝试运行您的项目并且它仍然存在构建错误时,Eclipse都会向您显示一条消息,询问您是否希望继续执行这些错误(除非您在框内打勾,表明您不想再次看到该消息) 。即使您遇到错误,我也不建议在Eclipse中运行项目-编译器会抱怨是有原因的。