zoukankan      html  css  js  c++  java
  • Java静态方法能否被继承

    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 {
    }
    

    1、结论

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

    2、原因

    • 静态方法和静态属性是属于类的,不是属于对象的。
    • 不可以被重写,也就不能实现多态
    • 如果在子类中定义和父类一模一样的静态方法或静态属性,父类的静态方法和静态属性会被屏蔽。  
  • 相关阅读:
    ios version和build
    协议
    masonry
    加密
    coredata
    随机附魔笔记
    Mac下搭建AzerothCore遇到的坑
    cocospods 私服搭建
    网络营销工具
    WKWebView不能重定向打开新界面,解决办法
  • 原文地址:https://www.cnblogs.com/jrkl/p/14511389.html
Copyright © 2011-2022 走看看