• Сервис онлайн-записи на собственном Telegram-боте
    Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое расписание, но и напоминать клиентам о визитах тоже. Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.
    Для новых пользователей первый месяц бесплатно.
    Чат-бот для мастеров и специалистов, который упрощает ведение записей:
    Сам записывает клиентов и напоминает им о визите;
    Персонализирует скидки, чаевые, кэшбэк и предоплаты;
    Увеличивает доходимость и помогает больше зарабатывать;
    Начать пользоваться сервисом
  • Как продвинуть сайт на первые места?
    Вы создали или только планируете создать свой сайт, но не знаете, как продвигать? Продвижение сайта – это не просто процесс, а целый комплекс мероприятий, направленных на увеличение его посещаемости и повышение его позиций в поисковых системах.
    Ускорение продвижения
    Если вам трудно попасть на первые места в поиске самостоятельно, попробуйте технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Если ни один запрос у вас не продвинется в Топ10 за месяц, то в SeoHammer за бустер вернут деньги.
    Начать продвижение сайта

Java Урок 28: КЛАСС, конструктор с параметрами, ключевое слово this

Конструктор с параметрами и ключевое слово this.

Скачать исходники для статьи можно ниже

Конструктор с параметрами.

В следующем примере объекты класса Box определяет конструктор с параметрами, который устанавливает размеры параллелепипеда в соответствии со значениями этих параметров. Обратите особое внимание на способ создания объектов класса Box.

class Box {
   double width;
   double height;
   double depth;
   // Это конструктор класса Box.
   Box(double w, double h, double d) {
      width = w;
      height = h;
      depth = d;
   }
   // вычисление и возврат объема
   double volume() {
      return width * height * depth;
   }
}

class BoxDemo1 {
   public static void main(String args[]) {
      // объявление, резервирование и инициализация объектов Box
      Box myboxl = new Box(10, 20, 15);
      Box mybox2 = new Box(3, 6, 9);
      double vol;
      // получение объема первого параллелепипеда
      vol = myboxl.volume();
      System.out.printIn("Объем равен " + vol);
      // получение объема второго параллелепипеда
      vol = mybox2.volume();
      System.out.println("Объем равен " + vol);
   }
}

Вывод этой программы имеет следующий вид:
Объем равен 3000.0
Объем равен 162.0

Как видите, инициализация каждого объекта выполняется в соответствии со значениями, указанными в параметрах его конструктора. Например, в строке:

Box myboxl = new Box(10, 20, 15);

значения 10, 20 и 15 передаются конструктору Box() при создании объекта с использованием оператора new. Таким образом, копии переменных width, height и depth будут содержать соответственно значения 10, 20 и 15.

Ключевое слово this.

Иногда необходимо, чтобы метод ссылался на вызвавший его объект. Чтобы
это было возможно, в Java определено ключевое слово this. Оно может
использоваться внутри любого метода для ссылки на текущий объект. То есть this всегда служит ссылкой на объект, для которого был вызван метод.
Ключевое слово this можно использовать везде, где допускается ссылка на объект типа текущего класса. Для пояснения рассмотрим следующую версию конструктора Box().

// Избыточное применение ключевого слова this.
Box(double w, double h, double d) {
   this.width = w;
   this.height = h;
   this.depth = d;
}

Эта версия конструктора Box() действует точно так же, как предыдущая.
Применение ключевого слова this избыточно, но совершенно правильно. Внутри метода Box() ключевое слово this всегда будет ссылаться на вызывающий объект.
Хотя в данном случае это и излишне, в других случаях, один из которых рассмотрен в следующем примере, ключевое слово this весьма полезно.

Box(double width, double height, double depth) {
   this.width = width;
   this.height = height;
   this.depth = depth;
}

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