Главная » Uncategorized » Java overload. This

Java overload. This

Перегрузка.(Использование одного идентификатора для ссылки на разные элементы в одной области действия.)
Так как имя конструктора предопределено именем класса, оно может быть ТОЛЬКО единственным.

1.Конструктор по-умолчанию. Коструктор без аргументов.
2.Либо создаётся на основании из некоторого файла(получает строку с именем файла).

Но оба они полноценные конструкторы, поэтому должны называться одинаково именем класса.

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

/*
Перегрузка конструктора и  перегрузка обычного метода
*/
class Tree {
        int  height;
        Tree() {
                System.out.println(«Сажаем росток»);
                height = 0;
                }

        Tree(int initialHeight) {
                height = initialHeight;
                System.out.println(«Создание нового дерева высотой» + height+  » м.»);
        }
        void info() {
                System.out.println(«Дерево высотой » + height + » м.» );
        }
        
        //для перегруженного метода
        void  info(String s) {
                System.out.println(s + «: Дерево высотой » + height + » м.»);
        }
}

public class Overloading {
                public static void  main(String[] args) {
                        for(int i = 0; i < 5; i++ ) {
                                Tree t = new Tree(i);
                                t.info();
                                t.info(«Перегруженный метод»);
                }
                //Перегруженный коструктор
                new Tree();
        }
}

Странно давать разные имена методам, когда их сжожесть столь очевидна.

Перегружаемые методы не разрешается различать по возвращаемым значениям, так как возвращаемое значение при вызове метода
может быть проигнорировано. Метод может вызываться не для естественного результата, а для каких-то других целей(побочных эффектов).

Конструтор по умолчанию не генерируется если написан какой-то свой конструктор с аргументами,
в этом при вызове команды new без аргументов — будет ошибка.

this — получить ссылку на текущий объект, если эта ссылка передаёся компилятором скрытно и неё не существует.
Используется только в не-статических методах и предоставляет ссылку на объект для которого был вызван метод.

Реклама

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s