Внутренние классы и дженерики. Задания

1. Обычный внутренний класс

  1. Создать класс User, содержащий private переменные login, password.
  2. Создать внутренний класс Query в классе User. Класс Query содержит метод printToLog(), который распечатывает на консоль сообщение о том что пользователь с таким то логином и паролем отправил запрос.
  3. Класс User, содержит метод createQuery(), в котором создается объект класса Query и вызывается метод printToLog().
  4. В методе main(): создать экземпляр класса User и вызвать метод createQuery(); создать экземпляр класса Query и вызвать метод printToLog() используя конструкцию user.new Query(); создать экземпляр класса Query и вызвать метод printToLog() используя конструкцию new User().new Query();

Смотрите решение задачи в видео.

2. Локальный внутренний класс

Переписать предыдущее задание, используя локальный класс.

Смотрите решение задачи в видео.

3. Внешний статический класс

Переписать класс Query используя статический класс.

Смотрите решение задачи в видео.

4. Анонимный класс Printable

Создать анонимный класс расширяющий интерфейс Printable. Вызвать его метод print().

Смотрите решение задачи в видео.

5. Анонимный класс Cookable

  1. Создать интерфейс Cookable, содержащий метод void cook(String str).
  2. Создать класс Food, содержащий метод public void prepare(Cookable c, String str) { c.cook(str);}
  3. Создать экземпляр класса Food и вызвать его метод prepare().
  4. На вход метода prepare() передать экземпляр анонимного класса, расширяющего интерфейс Cookable.

6. Обобщенный класс с тремя параметрами

  1. Создать обобщенный класс с тремя параметрами (T, V, K).
  2. Класс содержит три переменные типа (T, V, K), конструктор, принимающий на вход параметры типа (T, V, K), методы возвращающие значения трех переменных. Создать метод, выводящий на консоль имена классов для трех переменных класса.
  3. Наложить ограничения на параметры типа: T должен реализовать интерфейс Comparable (классы оболочки, String), V должен реализовать интерфейс Serializable и расширять класс Animal, K должен расширять класс Number.

Смотрите решение задачи в видео.

7. Обобщенная матрица

Переписать матрицу с использованием обобщенного класса.

8. Нахождения минимального и максимального элемента массива

Написать обобщенный класс MinMax, который содержит методы для нахождения минимального и максимального элемента массива. Массив является переменной класса. Массив должен передаваться в класс через конструктор.

9. Калькулятор

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

Read also:
Trustpilot
Trustpilot
Comments