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
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
这些注释都不算的话。System.out.print(i);
这一句是有问题的,无法访问私有成员,其他都应能通过。
你重写了父类中的count方法
在Test类中,i的默认值是0
Parents p=new Test();
这段实际上是向上转型,但在调用时是调用子类的方法,返回0呀
int fun(int a,int b){return a/b;};这个方法的参数,需要你自己传进去。
当你传进去的b为0的时候,那么就会发生运行时异常。
你不能指望编译时就能够把这种错误找出来。(可以先理解为运行时错误发生的原因,不是代码的问题,而是用户在传递数据时的问题。)