加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-15 02:57:07 所属栏目:Java 来源:网络整理
导读:当我使用 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 firstC
当我使用 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类编译代码?

解决方法

有一个原因.它允许运行具有编译错误的应用程序(有点!).编译器所做的是为源代码中的错误导致无法编译的任何方法创建存根方法.如果应用程序调用其中一个存根方法,则会出现运行时异常,指出该方法存在编译错误.

IMO,这个“功能”大多是有害的……对于Eclipse新手而言,它可能会非常混乱.但是,对于想要在部分编写的类上运行测试等的人来说,它可能很有用.

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

UPDATE

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读