Задачи на final,…
Комментарии (77)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
C0N5P1RACY QA Automation Engineer
13 февраля, 11:03
Диего боится приходить сам, поэтому послал Билаабо принести нам задачи.
Диего знает, он скоро получит в рожу
+1
🅹🄰🆅🄰 🄲🅰🅃 Урoвeнь 106
22 апреля 2025, 14:08
подсказка к заданию 3: ABSTRACT!!!
+3
NordØne
5 декабря 2024, 17:35
А я почему-то не забыл, что запретить создание экземпляров класса можно с помощью abstract
0
Gans Electro
13 мая, 09:32
ну по сути это и правильнее:
А можно в конструктор поставить исключение?
Тимур Исхаков
Java Developer в GridNine
26 февраля 2021, 13:20
Ну давайте рассмотрим, с каких сторон это неправильно.
1. Как минимум, до выброса исключения будет загружен класс, загружена статика класса и всех родителей, вызваны конструкторы всех родителей, инициализированы все переменные, и даже если у вашего класса нет родителей, а значит будет вызван только конструктор Object, это все равно чудовищная растрата ресурсов, а представьте, что наследуете этим классом разнообразные интерфейсы и классы.
2. Вы выбрасываете не проверяемое исключение, никто не узнает, что нельзя создать экземпляр, пока не упадет программа, потому что ссылка, которой попытаются присвоить значение вашего класса окажется null, и это при условии, что само присвоение чудесным образом попало в блок try{}.
3. Наиболее неочевидная проблема, все наследники вашего класса будут выбрасывать исключение и не будут созданы.
Если попытаться провести аналогию, то представьте, что пытаетесь выпустить на заводе автомобиль. На конвейер прибудут все детали для сборки, но при попытке их собрать, завод взрывается. В общем никогда так не делайте.
0
Yaroslav Yaroslav
27 августа, 12:27
Можно еще конструктор сделать приватным
0
Максим Li Backend Developer
19 мая 2024, 20:55
19.05.2024
0
Роман мастер-энергетик
20 ноября 2022, 18:43
если читать учебник Шилдта, то там эти темы чуть ли не в одной теме про final и абстрактные классы\методы, поэтому не удивлён, что в третей задачке встретился такой около подвох.
+3
Luka Biba
13 июля 2022, 09:29
На последней западлянчик
+16
Майкл Мэдсен
27 июня 2022, 13:02
Напомните, почему нельзя создать объект абстрактного класса?
+1
Сонмониус Full Stack Developer
28 июня 2022, 16:15
потому что его сделали по типу шаблона (что-то вроде продвинутого интерфейса). Только для того, что б от него наследоваться.
+2
🟡ampersand
6 июля 2022, 13:52
такой объект имел бы неопределенное поведение.
+3
Mikhail Efimov
22 марта 2022, 16:35
А почему в последней задаче нельзя просто указать приватный конструктор? Потому что останется возможность создавать экземпляры в самом классе?
+3
Shaman_2010
18 сентября 2022, 10:39
Совершенно верно. Ведь необходимо по условию вообще запретить создание экземпляров.
+1
Ivan Golubev
19 марта 2022, 23:38
про abstract ничего не говорилось. задачи на final... :/
+2
CyberBoar
18 мая 2022, 17:18
Это была западня.
+2
Сергей
5 октября 2022, 07:22
... и имелось ввиду абстракт)
0
SlavaBackend Developer в StartUp
14 декабря 2021, 01:54
Последняя задача с подвохом.
+6