Я только что наткнулся на это потрясающее учебное видео о Java, и я узнал, что класс Object - это суперкласс всех классов за кулисами. Таким образом, это легко справляется с проблемой наличия нескольких типов данных в arraylist, просто объявляя класс Object при работе с самим списком.Почему бы просто не объявить класс Object для всех объектов?
Мой вопрос: Почему бы не просто объявить Object object = new SubObjectClass();
для всех объектов?
Это из-за какой-то неэффективности производительности или проблемы с памятью, с которыми я еще не сталкивался? Я нашел другой вопрос, но я не видел, чтобы кто-нибудь объяснял, почему у НЕ просто есть объявление класса Object?
Я понимаю, почему он там. Прошу прощения, если это основной вопрос.
Попробуйте, посмотрите, как легко получить доступ к свойствам класса после того, как вы сделали это ... – MadProgrammer
JavaScript более или менее делает то, что вы описываете; вы используете 'var' для всех переменных, и вы не указываете имя типа. У этого есть преимущества, но также и недостатки: (1) он позволяет легко назначить переменную объекту неправильного типа, тогда как в Java сильная типизация позволяет уловить многие из этих ошибок во время компиляции; (2) всякий раз, когда вы вызываете метод, программа должна выполнить поиск, чтобы узнать, имеет ли объект метод с этим именем, хотя я думаю, что в Java он просто загружает виртуальный адрес из массива, что немного быстрее. – ajb