父类的静态变量被继承后,子类修改静态变量,为什么父类的也跟着变了?
继承不是完全复制一块空间吗?
为什么改了子类继承过来的静态变量,父类的静态变量也会跟着改变呢?
代码例子如下:
class Base {class Base { public static int count = 0;}class ClassOne extends Base {}public class Test { public static void main(String args[]) { System.out.println(Base.count); System.out.println(ClassOne.count); ClassOne.count++; System.out.println(Base.count); }}
class Base { public static int count = 0;}class ClassOne extends Base { public static int count=1;}public class Test { public static void main(String args[]) { System.out.println(Base.count); System.out.println(ClassOne.count); ClassOne.count++; System.out.println("Base的count值:"+Base.count); System.out.println("ClassOne的count值:"+ClassOne.count); }}
[解决办法]
是一个变量,都是从Base类得到的