是先初始化域,然后再调用构造函数的
所以放开2---9,在调用f(count-1); a[]的所有元素都是0
你把l= f(count-1);
放到构造函数里面就都一样了
放开2---9时候:
我的意思是你new了一个对象,在这个对象的生成过程中
先初始化:
int a[]=new int[4];
int count=a.length;
int l= f(count-1);
然后再调用
mmmm()
因为在初始化l德时候调用函数f()用到了a[],此时a[]还没有
被赋值,四个元素都是0
所以计算结果l=0
然后再电用mmmm() a[]被赋值
所以你如果把你把l= f(count-1);
放到构造函数mmmm() 里面就都一样了
否则因为a[]还没有被赋值,计算机结果是0
说这么多,至少也给点分了吧;:)