Метод називають абстрактним, якщо він має тільки оголошення і не має реалізації. Клас, що містить абстрактні методи, називається абстрактним класом. Якщо клас містить один або більше абстрактних методів, цей клас повинен бути визначений як abstract.
Всі методи дочірніх класів, що збігаються з оголошенням сигнатури в базовому, виконують перевизначення (заміщення, overriding) і використовують динамічне зв'язування. Якщо назва методу збігається з ім'ям методу базового класу, а аргументи різні, то це означає перевантаження (совмещение, overloading).
Поліморфізм в Java дозволяє підвищити можливості по організації коду і читабельність вихідних текстів, полегшити створення розширюваних програм, що передбачають подальше нарощування функціональності.