下面代碼:
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。
新聞熱點
疑難解答