Читать стандартный как двоичный файл [дубликата]

public class child()
{    public void method1()
     {     System.out.println("child1");
     }
    public void method2()
     {     System.out.println("child2");
     }

}
public class teenager extends child()
{    public void method3()
     {      System.out.println("teenager3");
     }
}
public class adult extends teenager()
{     
    public void method1()
    {    System.out.println("adult1);
         super.method1();
     }
}


//In java
public static void main(String []args)
{    ((teenager)var).method1();
}

Это выведет

adult1
child1

. При раннем связывании компилятор будет иметь доступ ко всем методам в дочернем и подростковом возрасте, но в конце привязки (во время выполнения) он будет проверять методы, которые переопределяются во время выполнения.

Следовательно метод method1 (от дочернего раннего связывания) будет переопределен методом1 от взрослого во время выполнения (поздняя привязка). Затем он будет реализовывать метод1 из дочернего элемента, поскольку нет метода1 в методе 1 в подростковом возрасте.

Обратите внимание, что если у ребенка не было метода1, тогда код в основном не компилировался.

17
задан BeMy Friend 29 August 2015 в 03:34
поделиться