Поліморфізм є здатність
об'єкта приймати різні форми. Найбільш поширене використання поліморфізму в ООП
відбувається, коли посилання батьківського класу використовується для
позначення об'єкту класу наслідника.
Будь-який об'єкт Java,
який може пройти більше одного IS-A
тесту вважається поліморфний. Всі об'єкти Java поліморфні будь-який об'єкт
пройде IS-A тест для власного типу і
для класу Object.
Важливо знати, що єдиний
можливий спосіб отримати доступ до об'єкта це через змінну силочного типу.
Силочна змінна може бути тільки одного типу. Після оголошення, тип силочної
змінної не може бути змінений.
Силочним змінним може бути
присвоєне посилання на інший об'єкт за умови, що змінна не оголошена final. Тип силочної змінної визначає
методи, що може викликати об'єкті.