小编Aus*_*tin的帖子

Java多态顶级方法被调用

我在 java 项目中有一个继承的对象,我试图调用子对象中的重写方法。由于某种原因,正在调用该方法的父版本。我对多态性的理解是,总是调用方法的最低版本。为什么调用父版本?

public class Generator
{
    public static void acceptPending()
    {
        System.out.println("top level is called");
    }
}

public class GeneratorNeo extends Generator
{
    public static void acceptPending()
    {
        System.out.println("neo level is called");
    }
}

public class Driver()
{
    public static void main(String[] args)
    {
        Generator gen = null;
        gen = new GeneratorNeo();
        gen.acceptPending(); // prints top level is called
    }
}
Run Code Online (Sandbox Code Playgroud)

java polymorphism inheritance overriding

-2
推荐指数
1
解决办法
62
查看次数

标签 统计

inheritance ×1

java ×1

overriding ×1

polymorphism ×1