Ответ на этот вопрос будет очевиден, если вы уверенно понимаете, что скрывается за терминами
ссылки вообще и
ссылки на метод.
Для нестатических методов работает
позднее связывание. По этой причине, когда мы обращаемся к такому методу по ссылке, то получаем метод
экземпляра, а не типа переменной. На примере с изображения ниже метод класса
A не будет затронут.
Факт позднего связывания в этом вопросе может ввести в заблуждение. Связывание случается
в момент обращения, а не вызова. В результате в переменной хранится неизменяемая копия ссылки на метод. Она ведет на метод объекта, а не хранящей его переменной. Поэтому переприсвоение переменной позже не окажет на ссылку никакого эффекта.
Для достижения реального связывания в момент вызова в байткоде существует инструкция
invokedynamic. Однако гораздо проще добиться того же результата, если использовать поведенческий паттерн ООП, например,
посетителя.