当前位置: 首页 > 知识库问答 >
问题:

当存在编译错误时eclipse如何执行java代码

谷翰飞
2023-03-14

以下java代码在eclipse中执行时,给出了正确的输出(即打印出'ClassB'),但根据java规范,代码无法编译(因为超类构造函数需要int参数,编译器提供给类B的构造函数包括对超类no arg构造函数的调用,未定义),并且在命令行中尝试使用javac命令编译文件时,只编译超类即类a,失败,出现以下编译错误:

B.java:8: cannot find symbol
symbol  : constructor A()
location: class A
public class B extends A {
   ^
1 error

以下是java文件内容:

class A {

    public A(int x) {
        //
    }
}

public class B extends A {

    public static void main(String[] args) {
        System.out.println("Class b");
    }
}

有人能解释一下eclipse是如何在没有bieng的情况下执行main方法的吗?bieng能够编译类。提前道谢。

更新

共有1个答案

米飞龙
2023-03-14

Eclipse使用自己的Java编译器(称为ECJ)而不是javac。这个编译器允许(部分)编译破碎的源文件。

 类似资料:
  • 问题内容: 当以下Java代码在eclipse中执行时,它会提供正确的输出(即打印“ Class B”),但是根据Java规范,该代码无法编译(因为超类构造函数需要一个参数,并且构造函数由B类的编译器包括对超类no arg构造函数的调用(未定义),并且当尝试在命令行中使用javac命令编译文件时,它仅编译超类(即A类),并因以下编译而失败错误: 以下是java文件的内容: 有人可以解释eclips

  • 问题内容: 我想知道是否有用于Eclipse IDE的解决方案来调试我没有源代码的Java代码,即调试动态反编译的代码,逐步执行代码等?我尝试使用JD- Eclipse ,JadClipse,如果我想查看一些类文件,这些插件会很好用,但是在调试时,我得到“找不到源”。-如何“附加”这些插件以“提供”源? 我的环境: Eclipse 3.5 Windows XP(如果可能,我会寻找跨平台解决方案)

  • C:\Users\SAYAN\Desktop\block-ch\project\khs-blockchain-java-example-master\src\main\java\simple\chain\Block.java:[51,29] 错误:-source 1.5 不支持 lambda 表达式 我已经安装了jdk 1.8。我仍然收到这个错误。需要帮助!!!

  • 我在操作系统或编译器优化方面没有深厚的背景,也没有直接使用机器代码,但我开始探索它。我已经开始在assembly中玩了一圈,看看像NASM这样的东西如何将汇编代码编译成机器代码(可执行文件),然后您可以从命令行调用它,比如。 但是JIT编译器实际上是如何在运行时做到这一点的呢?它是像流机器代码到stdin或什么,或者它是如何工作的?如果您能提供一个示例或一些伪代码,说明一些程序集(或类似的东西,但

  • 我在Eclipse上创建了一个Maven项目,并在pom.xml文件上添加了以下依赖项: 然后,我使用以下代码检查依赖项是否可以编译: 虽然Eclipse不显示任何错误,但当我使用以下命令编译它时: 我收到以下三个错误: 请记住,依赖项对应的JAR文件安装在计算机上的maven存储库中

  • 问题内容: 我知道过去有一些关于在Eclipse中编译但不能在命令行中编译的问题,但是我还无法找到解决问题的答案。 特别是,我认为我可以设置eclipse以使用我的系统编译器,但这仍然不能解决问题。 我目前正在检查以下内容:“首选项-> Java->已安装的JRE”。 它仅包含一个JRE,这是我的系统之一。 这是问题的细节 我有一个Java通用类,将Enum类型作为参数,如下所示: 我在类中的某个