简单问题
1
class A
{int a;}
class B extends A
{int a;}
class C extends B
{int a;}
在class C 中用到了super.a
是用到了A.a 还是B.a?
2
int s;
float a[]=new float[s];
语法是否正确?
问题点数:20、回复次数:3Top
1 楼homesos(熊猫贩子)回复于 2005-08-01 20:14:26 得分 8
1.如果能调用 自然是B.a 因为B才是C的父类 super调用的是父类的东东
2.语法是正确的 可以用变量来声明数组大小Top
2 楼wangdong_hk(王栋)回复于 2005-08-01 20:19:52 得分 8
1.super调用的是父类,而b是c的父类,那super.a就是b的a变量的值吧
2.应该是错误的,因为s没有被初始化,会导致float a[]=new float[s];时抛异常
Top
3 楼shenpipi(皮皮)回复于 2005-08-01 21:29:02 得分 4
问题一就不说了.
问题二,看你放在哪里了,如果是类的属性的声明的话,是正确的,运行也没有错误,因为有默认值.但是如果是作为一个方法里面的变量声明的话,编译都无法通过.Top




