子类继承父类静态变量问题

来源:互联网 发布:jsp页面添加java代码 编辑:程序博客网 时间:2024/05/20 20:57

java示例:

public class Main7 extends Father{//static int test = 11; public static void main(String[] args) {test++;Father father = new Father();System.out.println(test);}}class Father{static int test = 1;public Father() {System.out.println(test);}}

输出结果:

22

去掉注释输出结果:

112

分析:

当子类没有重新定义同名属性时,子类父类共享该属性。当子类重新定义时,不共享,是两个不同变量,值不同。

对比普通属性:

public class Main7 extends Father{public static void main(String[] args) {Father father = new Father();Child child = new Child();father.test++;System.out.println(father.test);System.out.println(child.test);}}class Father{int test = 1;public Father() {System.out.println(test);}}class Child extends Father{public Child() {System.out.println(test);}}
输出结果1    1    1    2    1

阅读全文
1 0
原创粉丝点击