相关疑难解决方法(0)

javac和Eclipse编译器有什么区别?

Eclipse的Java编译器只是程序所在的同一个核心的包装器javac,还是一个单独的编译器?如果是后者,为什么他们会重新发明轮子?

java eclipse javac

192
推荐指数
4
解决办法
6万
查看次数

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

当在eclipse中执行以下java代码时,它会给出正确的输出(即打印'Class B'),但根据java规范,代码无法编译(因为超类构造函数需要一个int参数和构造函数由编译器到B类包括对超类没有arg构造函数的调用,这是没有定义的),当尝试在命令行中使用javac命令编译文件时,它只编译超类即A类,并且失败并带有以下编译错误:

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

以下是java文件内容:

class A {

    public A(int x) {
        //
    }
}

public class B extends A {

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

有人可以解释eclipse如何在没有bieng能够编译类的情况下执行main方法.提前致谢.

UPDATE

我在bin文件夹中删除了eclipse中的.class文件,并尝试执行该类,但无法编译,因此无法运行.但是当我使用公共类名创建一个没有任何内容的源文件,然后添加上面的内容时,它就起作用了.如果eclipse使用以前编译的版本来执行,它怎么能给出main方法的输出,因为它main在成功完全编译时没有方法?

java eclipse compilation

3
推荐指数
1
解决办法
2157
查看次数

标签 统计

eclipse ×2

java ×2

compilation ×1

javac ×1