Page 25 - 4836
P. 25
Способи передачі аргументів у методи
Прості типи в мові Java передаються за значеннями
(call-by-value), тобто у формальний параметр копіюється
значення аргументу Все, що відбувається з параметром, не
впливає на аргумент.
Об’єкти передаються за посиланням (call-by-reference).
Тобто параметрові присвоюється значення посилання на
об’єкт. Обидва посилання – і аргумент, і параметр – вказують
на один і той ж самий об’єкт у пам’яті. Тому всі зміни, які
відбулися в методі, впливають на об’єкт, переданий як
аргумент.
Визначення конструктора у мові Java
Конструктор (constructor) – здійснює ініціалізацію
об’єкта при його створенні. Ім’я конструктора завжди
збігається з іменем класу, а за синтаксисом він нагадує метод.
При написанні конструктора явно не вказують тип значення,
яке він повертає, зокрема і void.
Якщо конструктор класу не описано явно, Java створює
для цього класу конструктор за замовчуванням. Конструктор
за замовчуванням присвоює змінним класу нульові значення.
Конструктор може мати список визначених параметрів,
які передаються у нього під час створення об’єкта.
Перевантаження методів і конструктора класу
Одним із способів реалізації поліморфізму є
перевантаження методів та конструктора класу (metod
overloading). У мові Java можна в одному класі визначати
декілька методів з одним іменем, однак різною кількістю
параметрів. Ці методи називають перевантаженими
(overloaded).
При перевантаженні методу, щоб визначити, яку
версію методу треба виконати, використовується кількість і
(або) тип аргументів. Типи значень, які повертає метод,
можуть бути різними і їх не використовують як ознаку, за
якою розрізняють дві версії методу.
23