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

2023-11-23

当我使用 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;
    }       
}

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


这是有原因的。它允许运行有编译错误的应用程序(某种程度上!)。编译器所做的就是为由于源代码中的错误而无法编译的任何方法创建存根方法。如果应用程序调用这些存根方法之一,您将收到运行时异常,表明该方法存在编译错误。

IMO,这个“功能”是主要是有害的...对于 Eclipse 新手来说这可能会非常令人困惑。但是,对于想要在部分编写的课程上运行测试等的人来说,它可能很有用。

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

UPDATE

此行为是 Eclipse 特定的。它由一个控制setting在“窗口 > 首选项 > 运行/调试 > 启动”首选项面板中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐