1*f1fbf3c2SXin Li package test1; 2*f1fbf3c2SXin Li 3*f1fbf3c2SXin Li class CalleeBeforeParent { 4*f1fbf3c2SXin Li static int counter = 0; 5*f1fbf3c2SXin Li int r; 6*f1fbf3c2SXin Li CalleeBeforeParent(int k)7*f1fbf3c2SXin Li CalleeBeforeParent(int k) { 8*f1fbf3c2SXin Li System.out.println("CalleeBeforeParent:" + k); 9*f1fbf3c2SXin Li r = counter; 10*f1fbf3c2SXin Li } 11*f1fbf3c2SXin Li } 12*f1fbf3c2SXin Li 13*f1fbf3c2SXin Li public class CalleeBefore extends CalleeBeforeParent { 14*f1fbf3c2SXin Li public int p; 15*f1fbf3c2SXin Li public static int q; 16*f1fbf3c2SXin Li CalleeBefore()17*f1fbf3c2SXin Li public CalleeBefore() { 18*f1fbf3c2SXin Li this(3); 19*f1fbf3c2SXin Li } 20*f1fbf3c2SXin Li CalleeBefore(int k)21*f1fbf3c2SXin Li public CalleeBefore(int k) { 22*f1fbf3c2SXin Li super(k); 23*f1fbf3c2SXin Li p = q = 0; 24*f1fbf3c2SXin Li } 25*f1fbf3c2SXin Li m1(int i)26*f1fbf3c2SXin Li public int m1(int i) { 27*f1fbf3c2SXin Li return p + i; 28*f1fbf3c2SXin Li } 29*f1fbf3c2SXin Li m2(int i)30*f1fbf3c2SXin Li public static int m2(int i) { 31*f1fbf3c2SXin Li return q + i; 32*f1fbf3c2SXin Li } 33*f1fbf3c2SXin Li getr()34*f1fbf3c2SXin Li public int getr() { return r; } 35*f1fbf3c2SXin Li test()36*f1fbf3c2SXin Li public int test() { 37*f1fbf3c2SXin Li return m1(3) + m2(10); 38*f1fbf3c2SXin Li } 39*f1fbf3c2SXin Li } 40