Eclipse - Почему интерфейсный метод считают открытой реализацией - PullRequest
0 голосов
/ 24 января 2019

После интерфейса и класса реализации:

public interface MyI
     void test();
}

public MyImpl implements MyI {
     //@Override with or without @Override 
     public void test() {
     }
}

При нажатии Ctrl и нажатии на метод реализации test() в Eclipse Отображается предложение менюOpen Super Implementation

При выборе Open Super Implementation он переходит к методу интерфейса, который не имеет реализации

Это преднамеренно или простодополнительная функция, чтобы добраться до метода интерфейса, хотя наименование сбивает с толку / кажется неправильным?

Ответы [ 2 ]

0 голосов
/ 24 января 2019

Кажется, что-то информативное, что нужно сделать при переходе к реализации (например, из-за ошибки). Поскольку стоит (может стоять) @Override, что почти регулярно / ожидаемо: первое объявление.

Для абстрактных методов в абстрактном суперклассе, который, вероятно, совпадает.

«Реализация», следовательно, немного вводит в заблуждение, но есть и Override. Следует отметить, что первая реализация метода интерфейса изначально не могла иметь @Override. Изменение Java для предотвращения ошибок (действительно, обратите внимание, что абстрактный метод был реализован с правильной подписью).

0 голосов
/ 24 января 2019

Это особенность IDE. Как показывает пункт меню, вы переходите к методу super. Во время выполнения будет вызван метод реализации. Так что это просто особенность IDE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...