gpt4 book ai didi

java - 如果我的 Java 源文件中存在语法错误,为什么 Eclipse 会生成 .class 文件?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:07:19 25 4
gpt4 key购买 nike

当我使用 Eclipse IDE 创建我的项目时,即使我的代码中存在语法错误,它也会生成一个类文件?

class Test {    
public void test(String value) {
System.out.println("TEST CALLED WITH VALUE " + value);
}
}

class Abc {
Test obj = new Test();
public String firstCallToMethodFromTest() {
System.out.println("FIRST CALL TO THE METHOD FROM TEST CLASS");
String result = obj.test("TEST");
return result;
}

public String secondCallToMethodFromTest() {
System.out.println("SECOND CALL TO THE METHOD FROM TEST CLASS");
String result = obj.test();
// There is no such method in test class i.e source code error
return result;
}
}

方法 firstCallToMethodFromTest 从我的 Struts 操作中作为操作方法调用。 Eclipse 如何使我的源代码文件中存在语法错误的 Abc 类编译代码成为可能?

最佳答案

这是有原因的。它允许运行有编译错误的应用程序(有点!)。编译器所做的是为由于源代码中的错误而无法编译的任何方法创建 stub 方法。如果应用程序调用这些 stub 方法之一,您会收到一个运行时异常,指出该方法有编译错误。

IMO,此“功能”主要是有害的 ... 并且它可能会让 Eclipse 新手感到困惑。但是,对于想要在部分编写的类(class)上运行测试等的人来说,它可能很有用。

IIRC,“运行”对话框中有一个复选框,允许您启用/禁用正在运行的存在编译错误的应用程序。 (我总是禁用它!)

更新

此行为是特定于 Eclipse 的。它由 setting 控制在“Window > Preferences > Run/Debug > Launching”首选项面板中。

关于java - 如果我的 Java 源文件中存在语法错误,为什么 Eclipse 会生成 .class 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18349168/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com