当前位置: 代码迷 >> Java相关 >> 一个困惑小弟我好久的有关问题
  详细解决方案

一个困惑小弟我好久的有关问题

热度:42   发布时间:2016-04-22 20:26:14.0
一个困惑我好久的问题

  下面代码:

package com.lk.C;public class Test5 {    public static void main(String[] args) {        go(new MyBase());    }    static void go(Base b){        b.add(8);    }}class Base{    int i;    Base(){        add(1);        System.out.println(i);    }    void add(int v){        i = i+v;        System.out.println(i);    }    void print(){        System.out.println(i);    }}class MyBase extends Base{    MyBase(){        add(2);    }    void add(int v){        i += v*2;        System.out.println(i);    }}
22622

  Java新手一枚,望有人解答:

  我调试了一下,走的顺序:当走父类的构造函数内的add(1)方法时,为什么不是调用父类的add()方法,而调用了子类的add()方法?因此第一个输出是2。

  相关解决方案