Java编译错误和运行错误有什么区别? 能否深入浅出

2025-05-04 12:52:44
推荐回答(2个)
回答1:

编译出错差不多就是语法不对,比如你写String str = 'str';这么写语法不对编译就会出错。运行出错是指语法没问题但是逻辑有问题,比如一个方法传进一个String类型的变量str,方法体中有类似于str.equals("str");的语句,但是传进的str是个null,那么那一句就相当于null.equals("str");这肯定会抛空指针异常。
用手机做例子,编译出错就是手机在生产的时候零件不对,那就肯定不能出厂。运行出错就是手机组装完出厂了,到手了你没用来打电话,直接拿来砸核桃了,那手机肯定报废(NOKIA除外)。

回答2:

如果是语法错误,字节码文件出不来跑出来的就是java.lang.ClassNotFoundException,不可能抛什么空指针,因为跑不出来