Эта тема некоторое время была тихой, поэтому я сомневаюсь, что это поможет вам, но я подумал, что опубликую ее, если кто-то еще придет искать ответы.
Еще несколько минут назад у меня была похожая проблема с интерфейсом, абстрактным классом и конкретным подклассом. В основном интерфейс определяет 10 методов, абстрактный класс реализует 2 из них, а остальные 8 оставляют для конкретного класса. Реализация одного из методов в абстрактном классе вызывает метод, который должен был быть реализован конкретным классом.
Все скомпилировалось нормально, и NetBeans ни на что не жаловался, но во время выполнения виртуальная машина взорвалась, заявив, что метод (реализованный в конкретном классе) не существует. Прошло много лет с тех пор, как я в последний раз использовал Java, но я почти уверен, что в этой ситуации такое поведение не ожидается (кто-то, пожалуйста, поправьте меня, если я ошибаюсь).
После нескольких часов работы с ноутбуком я обнаружил, что добавление абстрактной заглушки метода, который я вызывал, к абстрактному классу позволяет переадресовывать вызов конкретному классу без каких-либо жалоб со стороны виртуальной машины. Это нормально или мне просто повезло?
В любом случае, надеюсь, кто-нибудь найдет это полезным.