Перейти к содержимому
шпаргалка.
Esc
навигацияоткрыть⌘Jпредпросмотр
На этой странице

Связывание

Все темы Java Developer

Что такое статическое и динамическое связывание?

Статическое связывание и динамическое связывание — это два способа, с помощью которых компилятор и интерпретатор определяют, какой код должен быть вызван для выполнения определенной операции в программе.

Статическое связывание:

  • Определение: Процесс привязки метода или функции к вызову происходит на этапе компиляции, основываясь на типе объекта или переменной в момент компиляции.

  • Характеристики:

    • Решение о том, какой метод вызывать, принимается на основе типа переменной, который известен на этапе компиляции.

    • Примеры статического выбора: разрешение перегрузки и вызов static-метода. Известный компилятору тип переменной сам по себе не исключает динамическую диспетчеризацию переопределённого метода экземпляра.

Динамическое связывание:

  • Определение: Процесс привязки метода или функции к вызову происходит во время выполнения программы, основываясь на типе объекта, на котором происходит вызов.

  • Характеристики:

    • Решение о том, какой метод вызывать, принимается во время выполнения, исходя из фактического типа объекта, на который ссылается переменная.

    • Примеры: вызов виртуальных методов в Java и C++, вызовы методов через интерфейсы в ООП.

Эта страница была полезной?