Внутренние классы и дженерики. Задания
1. Обычный внутренний класс
- Создать класс
User
, содержащийprivate
переменныеlogin
,password
. - Создать внутренний класс
Query
в классеUser
. КлассQuery
содержит методprintToLog()
, который распечатывает на консоль сообщение о том что пользователь с таким то логином и паролем отправил запрос. - Класс
User
, содержит методcreateQuery()
, в котором создается объект классаQuery
и вызывается методprintToLog()
. - В методе
main()
: создать экземпляр классаUser
и вызвать методcreateQuery()
; создать экземпляр классаQuery
и вызвать методprintToLog()
используя конструкциюuser.new Query()
; создать экземпляр классаQuery
и вызвать методprintToLog()
используя конструкциюnew User().new Query();
Смотрите решение задачи в видео.
2. Локальный внутренний класс
Переписать предыдущее задание, используя локальный класс.
Смотрите решение задачи в видео.
3. Внешний статический класс
Переписать класс Query
используя статический класс.
Смотрите решение задачи в видео.
4. Анонимный класс Printable
Создать анонимный класс расширяющий интерфейс Printable
. Вызвать его метод print()
.
Смотрите решение задачи в видео.
5. Анонимный класс Cookable
- Создать интерфейс
Cookable
, содержащий методvoid cook(String str)
. - Создать класс
Food
, содержащий методpublic void prepare(Cookable c, String str) { c.cook(str);}
- Создать экземпляр класса
Food
и вызвать его методprepare()
. - На вход метода
prepare()
передать экземпляр анонимного класса, расширяющего интерфейсCookable
.
6. Обобщенный класс с тремя параметрами
- Создать обобщенный класс с тремя параметрами (T, V, K).
- Класс содержит три переменные типа (T, V, K), конструктор, принимающий на вход параметры типа (T, V, K), методы возвращающие значения трех переменных. Создать метод, выводящий на консоль имена классов для трех переменных класса.
- Наложить ограничения на параметры типа: T должен реализовать интерфейс Comparable (классы оболочки, String), V должен реализовать интерфейс Serializable и расширять класс
Animal
, K должен расширять классNumber
.
Смотрите решение задачи в видео.
7. Обобщенная матрица
Переписать матрицу с использованием обобщенного класса.
8. Нахождения минимального и максимального элемента массива
Написать обобщенный класс MinMax
, который содержит методы для нахождения минимального и максимального элемента массива. Массив является переменной класса. Массив должен передаваться в класс через конструктор.
9. Калькулятор
Написать класс Калькулятор
(необобщенный), который содержит обобщенные статические методы - sum
, multiply
, divide
, subtraction
. Параметры этих методов - два числа разного типа, над которыми должна быть произведена операция.
При написании программ обращайте внимание на рекомендации по оформлению кода.
Курс 'Java для начинающих' на Udemy
Please log in or register to have a possibility to add comment.