谈谈java中静态变量与静态方法在有继承关系的两个类中调用
学习的中如果遇到不明白或者不清楚的的时候,就是自己做些测试,自己去试试,这次我就做一个关于静态变量和静态方法在有继承关系的两个类中的问题测试。
首先我先建一个父类:
这样我在建一个子类:
这些都准备好以后,我对子类创建对象,然后用 类名.静态变量/静态方法 和 对象名.静态方法/静态变量 对他们输出的结果进行测试。
这样输出种类有:
这样我输出的结果是:
这样来总结一下:
1. 通过类名来调用子类中的静态变量和静态方法,当父类与子类相同时是,子类会隐藏父类中与其相同的静态变量和静态方法,如果子类中没有与其父类相同的静态变量和静态方法,子类从其父类调用过来的静态变量和静态方法就会表现出来。
2. 通过子类创建对象来用对象名调用子类中的静态变量和静态方法,除非是父类没有的静态变量和静态方法,会显示其子类的静态变量和静态方法。否则,最后显示一定是从父类哪里引用来的静态变量和静态方法。