有两个方面的问题:
1,当一个类B继承一个类C,而类B的一个实例又是类C的一个静态成员变量的时候,为什么不会报StackOverflowError,我知道类B的一个实例是类C的一个非静态成员变量的时候会报这个错误。虽然静态的只有一个实例,但引用还是是无限循环的啊?
2.当一个类B继承一个类C、一个接口A,类C中和接口A中都有一个相同的成员变量b的时候,分别因该怎么引用?(其中类C中的b是static的)
可能没有说的太清楚,我把代码贴出来了,求解答,困惑我很久了。。
public class InterfaceVariable { public static void main(String[] args) { B b = new B("class B"); // System.out.println(b); // System.out.println(b.b); // System.out.println(B.b.b); } } interface A{ B b = new B("interface A"); } class C{ static B b = new B("class C"); } class B extends C implements A{ public B(String s){ System.out.println("class B's constractor,s="+s); } }
撒科打诨
忽然笑
慕婉清6462132
相关分类