多态中静态成员变量和静态方法的特点

java中的多态是离不开类的继承,但是在对于静态变量和静态方法就不同了;因为静态成员变量和方法都是随着类的加载就已经存在了,所以静态成员变量和方法都不会被覆盖。

例如:


public class Multiplity {
 public static void main(String[] args) {
  Animal a = new Horse();
  System.out.println(a.num);
  a.eat();
 }
}
class Animal {
 static int num = 8;
 static void eat() {
  System.out.println("吃东西");
 }
}
class Horse extends Animal {
 static int num = 5;
 static void eat() {
  System.out.println("吃草");
 }
}

 

得出的结果

8
吃东西

你可能感兴趣的:(JavaSE/基础/xml)