Java 静态方法不能重写

Posted 路漫求索

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 静态方法不能重写相关的知识,希望对你有一定的参考价值。

强调

静态方法是属于类的,只存在一份,会被该类的所有对象共享

静态方法可以被子类继承,但是不可以被子类重写

class door{
    
}
class wood_Door extends door{
    
}

class math{
    static public door getMes() {
        return new door();
    }
}


public class HelloWorld extends math {
    
    public static wood_Door getMes() {
        return new wood_Door();
    }
    
    public static void main(String[] args) {
        math m=new HelloWorld();
        System.out.println(m.getMes());

    }
}
//输出为[email protected]

子类不能通过继承重写父类的静态方法,但是可以隐藏父类的方法,如下


class door{
    
}
class wood_Door extends door{
    
}

class math{
    static public door getMes() {
        return new door();
    }
}


public class HelloWorld extends math {
    
    public static wood_Door getMes() {
        return new wood_Door();
    }
    
    public static void main(String[] args) {
        HelloWorld m=new HelloWorld();
        System.out.println(m.getMes());

    }
}
//输出为[email protected]

以上是关于Java 静态方法不能重写的主要内容,如果未能解决你的问题,请参考以下文章

Java中的静态方法能否被重写?

Java中静态方法能否被重写

java方法的重写与重载

java-方法重写的注意事项

子类能否重写父类的静态方法

继承中静态方法不能被重写