想知道为什么结果是4,它的具体流程是怎样的

解决方案 »

  1.   

    第9行 j 哪来的?
    除去j 不说 首先 middle m = new middle() 会执行父类top的构造方法 x *= 3;
    然后执行本类的构造方法 x += 1;
    最后System.out.println(x);//x=4
      

  2.   

    Middle 继承 Top
    新建Middle对象 默认优先执行Top父类的 。x=1 执行 无参构造方法 X*=3 ( X= X * 3)后 等于 3 ,
    后执行本类无参构造方法 X+=1 (X= X + 1) ,当前X等于 3 执行后 3 +1 = 4  。
    所以此题 选择C .4