Объясните, что происходит во время создания объекта?
A a = new A();
Вроде бы было всё понятно, что создаётся экземпляр класса A, выделяется память, вызывается конструктор, присваивается ссылка на объект, но так я думал лишь до тех пор, пока не столкнулся с повышающий и понижающим преобразованиями (upcast, downcast), просто не понимаю в чём смысл создавать например
Animal dog = new Dog();, если при наследовании класса Dog, от класса Animal, можно просто указать Dog dog = new Dog();, и как мне кажется ничего не потерять. Все принципы работы я обычно предпочитаю понимать досконально и во всех деталях т.е знать значение каждого символа, понимать логику работы и так далее. Но вот тут я к сожалению поплыл . В общем огромная просьба разъяснить или поделиться источником, в котором было бы всё это более менее расписано.
List, то можете туда передатьLinkedListилиArrayList. Удобно. – Stanislav Volodarskiy Jul 09 '22 at 21:39Animal pet = catsAreBest ? new Cat() : new Dog();– andreymal Jul 09 '22 at 23:02