日期:2014-05-20  浏览次数:20695 次

关于一个小程序的问题
class Parents{
public int  count(){
return 0;
}
}
public class Test extends Parents {
private int i;
// public static void main(String[] args){
// Parents p=new Test();
// p.count();
//// System.out.print(i);
// }
public int  count(){
return i/9;
}
}
求解这个程序,编译是否能够通过,为什么?
编译 java

------解决方案--------------------
有些错误会在编译时就被编译器发现,而有些错误则隐藏得很很深。

比如你定义一个除法的方法:
int fun(int a,int b){return a/b;};

这个方法的参数,需要你自己传进去。
当你传进去的b为0的时候,那么就会发生运行时异常。
你不能指望编译时就能够把这种错误找出来。(可以先理解为运行时错误发生的原因,不是代码的问题,而是用户在传递数据时的问题。)