https://acadfood.ru/video/java-core-october-oop-lekciya22-chast-2/