Java静态方法能否被继承?


Java静态方法能否被继承

1、结论

结论是Java的静态方法和静态属性都可以被继承,但是他们不可以被重写(Overwrite)。

2、原因

  • 静态方法和静态属性是属于类的,不是属于对象的。
  • 不可以被重写,也就不能实现多态
  • 如果在子类中定义和父类一模一样的静态方法或静态属性,父类的静态方法和静态属性会被屏蔽

3、代码分析

public class Main {
    public static void main(String[] args) {
        B b = new B();
        b.staticMethod(); // B静态方法

        A a = b;
        a.staticMethod(); // A静态方法

        C c = new C();
        c.staticMethod(); // A静态方法

    }
}

class A { //父类
    public static void staticMethod() {
        System.out.println("A静态方法");
    }
}

class B extends A {
    public static void staticMethod() {
        System.out.println("B静态方法");
    }
}

class C extends A {
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM