Java中子类隐藏父类的静态函数

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Try programiz.pro");
        
        Basic.printNumber();
        Child.printNumber();
    }
}

class Basic {
    public static int getNumber(){
        return 1;
    }
    
    public static void printNumber(){
        System.out.println(getNumber());
    }
}

class Child extends Basic {
    public static int getNumber(){
        return 2;
    }
}

上面的代码, 将会输出下面的结果:

1
2
3
Try programiz.pro  
1  
1  

说明在静态函数里面 不存在覆盖一说,只是单纯的隐藏而已。 如果是实例方法的话, 父类的方法将会被覆盖, 但是静态方法不会被覆盖。

0%