Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Пример класса. Инициализация и завершение






 

 

Тема 5

Инициализация и завершение

 

Конструктор гарантирует инициализацию

 

Конструктор – метод, который вызывается при создании нового объекта. Автоматически вызывается при создании нового объекта. Имя совпадает с именем класса, он не возвращает ничего! Ссылку возвращает оператор new.

 

Пример

 

class Rock {

Rock () {

System.out.println (“Rock ”);

}

}

 

Протестируем класс:

 

public class RockTest {

public static void main (String[] args) {

for (int i=0; i< 10; i++)

new Rock (); //безымянный объект

}

}

 

Будет 10 раз напечатано ”Rock ”

 

Конструктор может иметь аргументы

 

Rock (int i) {

System.out.print(“Rock ” + i + ” “);

}

 

Перегрузка методов (overloading)

 

Разные методы могут иметь одно имя, но разные аргументы.

Например конструктор:

1) конструктор без аргументов (no_arg);

2) конструктор с параметрами (с аргументами).



 

class Tree {

int height;

Tree () { height=0; }

Tree (int initialHeight) {height=initialHeight; }

}

new Tree (); // вызов без параметров

Tree t = new Tree (5); // вызов с параметрами

 

Перегруженные методы должны иметь разный список типов аргументов - хотя бы их порядок.

 

void f (String S, int i){}

void f (int i, String S) {}

 

Возвращаемое значение при перегрузке значения не имеет.

Конструктор по умолчанию

Это конструктор без аргументов.

Если конструкторов в классе не объявили, то конструктор по умолчанию будет создан компилятором.

 

class Bird {}

Bird b = new Bird ();

 

Если есть хотя бы один конструктор, то компилятор конструктор по умолчанию не создает!

Bird2 (int i) {}

Bird2 (double d) {}

Bird2 b2 = new Bird (1);

Bird2 b3 = new Bird (1.0);

Bird2 b4 = new Bird (); //не работает!!!






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.