java – 静态方法中的继承

前端之家收集整理的这篇文章主要介绍了java – 静态方法中的继承前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
为什么下面的代码打印“主”?
public class Main
{
    public static void method()
    {
        System.out.println("Main");
    }

    public static void main(String[] args)
    {
        Main m = new SubMain();
        m.method();
    }
}

class SubMain extends Main
{
    public static void method()
    {
        System.out.println("SubMain");
    }
}

在运行时,m指向Submain的一个实例,所以它应该在概念上打印“SubMain”.

解决方法

静态方法在编译时类型的变量上解决. m是Main类型,所以Main中的方法调用.

如果将其更改为SubMain m …,则将调用SubMain上的方法.

猜你在找的Java相关文章