В Java:Есть ли Parent obj = new Child(); смысл?
Parent obj = new Child();
Я создал объект типа Parent. Я предполагаю, что я могу только вызывать методы, определенные в классе родителя. Таким образом, я не могу вызывать «дополнительные» методы, определенные в Ребенке или переменные доступа, определенные в Child. Так что я думаю, что это пустая трата памяти, так как я представил новый экземпляр Child, который занимает дополнительное пространство памяти, чем Parent. К этому моменту я думаю, что это не имеет смысла. Может ли кто-нибудь указать причину/пример, где это имеет смысл?
Наиболее часто используется, когда класс родителя является абстрактным или когда класс Родитель является частью открытого интерфейса для библиотеки и Детский класс - это деталь реализации. –