В Java, когда метод будет выполняться, его объявление сначала ищется в реальном классе объекта (который определяет реальный тип объекта).Если он не найден, то суперкласс проверяется.Если там тоже ничего не найдено, проверяется следующий родительский класс и так далее.Однако, посмотрите на пример ниже:
SuperClass s = new SubClass(list of parameter);
s.someMethodExistOnlyInSubClass();
Это даст мне ошибку времени компиляции.Я думал, что, как упомянуто выше, он сначала ищет someMethodExistOnlyInSubClass()
на SubClass
, проверяет, существует ли он там, а затем сразу же выполняет его.Если я использую переменную типа SuperClass
для ссылки на экземпляр SubClass
, некоторые параметры будут переданы конструктору SuperClass
через вызов super()
, и объект будет создан там.В этом контексте, куда ушли остальные параметры?