Читайте также: |
|
В операції new, що визначає екземпляри класу, повторюється назва класу з дужками. Такий "метод" називається конструктором класу (class constructor). Перечислимо особливості конструктора^
· Конструктор є в будь-якому класі. Навіть якщо він не вкзаний, компілятор Java сам створить конструктор за замовчуванням (default constructor), який, між іншим, пурожній, він не робить нічого, крім виклику конструктора суперкласу.
· Конструктор виконується автоматично при створенні екземпляра класу, після розподілу пам’яті і обнулювання полів, але до початку використання створюваного об’єкта.
· Конструктор не повертає жодного значення. Тому в його описі не пишеться навіть слово void, але можна задати один із трьох модифікаторів public, protected або private.
· Конструктор не є методом, він навіть не вважається членом класу. Тому його не можна наслідувати або перевизначати у підкласі.
· Тіло конструктора може починатися:
· з виклику одного із конструкторів суперкласу, для цього записується слово super() з параметрами у дужках, якщо вони потрібні;
· з виклику другого конструктора цього ж класу, для цього записується слово this() з параметрами у дужках, якщо вони потрібні.
· Якщо ж super() на початку конструктора не вказаний, то спочатку виконується конструктор суперкласу без аргументів, потім відбувається ініціалізація полів значеннями, вказаними при їх оголошенні, а вже потім те, що записано у конструкторі.
У всьому іншому конструктор можна вважати звичайним методом, у ньому дозволяється записувати будь-які оператори, навіть оператор return, але тільки порожній.
У класі може бути декілька конструкторів. Оскільки у них одне і те ж ім’я, що співпадає з іменем класу, тоді вони повинні відрізнятися типом і/або кількістю параметрів.
2.7. ОПЕРАЦІЯ new
Операція, що позначається словом new застосовується для виділення пам’яті масивам і об’єктам.
У першому випадку в якості операнда вказується тип елементів масиву і кількість його елементів у квадратних дужках, наприклад:
double a[] = new double[100];
У другому випадку операндом служить конструктор класу. Якщо конструктора у класі немає, то викликається конструктор за замовчуванням.
Числові поля класу одержують нульові значення, логічні поля — значення false, посилання — значення null.
Результатом операції new буде посилання на створений об’єкт. Це посилання може бути присвоєне змінній типу посилання на даний тип:
Dog k9 = new Dog ();
але може використовуватися і безпосередньо:
Дата добавления: 2015-11-14; просмотров: 62 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Abstract void voice(); | | | Private static int number; |