Перегрузка методов (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 ();//не работает!!!


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: