📜  Java中静态函数的影子

📅  最后修改于: 2022-05-13 01:55:45.870000             🧑  作者: Mango

Java中静态函数的影子

在Java中,如果派生类静态函数的名称与基类静态函数函数隐藏(或隐藏)派生类静态函数。例如,以下Java代码打印“A.fun()”
注意:静态方法是类属性,因此如果从类名或具有类容器的对象调用静态方法,则调用该类的方法而不是对象的方法。

Java
// file name: Main.java
 
// Parent class
class A {
    static void fun() { System.out.println("A.fun()"); }
}
 
// B is inheriting A
// Child class
class B extends A {
    static void fun() { System.out.println("B.fun()"); }
}
 
// Driver Method
public class Main {
    public static void main(String args[])
    {
        A a = new B();
        a.fun(); // prints A.fun();
 
        // B a = new B();
        // a.fun(); // prints B.fun()
 
        // the variable type decides the method
        // being invoked, not the assigned object type
    }
}


输出
A.fun()