статические методы статически связаны с их именем класса, потому что m является типом класса Main, тогда после компиляции это будет выглядеть следующим образом Main.method (); после компиляции вашего класса запустите следующую команду: javap -c Main вы можете увидеть код сборки jvm для класса Main, и вы увидите следующее это динамическое связывание

у приведенный ниже код выводит «Main»?

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».

Ответы на вопрос(5)

Ваш ответ на вопрос