Уровень соответствия компилятора в Eclipse - PullRequest
0 голосов
/ 31 марта 2020

Я использую версию JDK 1.8. И импортировал уже написанный код. Получил ошибку, как показано ниже

The method actionPerformed(ActionEvent) of type new ActionListener(){} must override a superclass method

Погуглил, вытащил, что мне нужно установить Compiler compliance level in Eclipse to 1.6, и проблема решена.

Получил 2 сомнения

1) Если я установлю 1.6, Как мой 1.8 jdk (установленный на моей машине) может создавать файлы версий 1.6 и запускать его тоже? Возможно ли, что 1.8 может произвести 1.6 версии файлов java и запустить их тоже?

2) Может ли более высокий уровень соответствия требованиям работать с более низкими версиями, поскольку он получен от более низкого к более высокому? Если да, то почему даже требуется изменить уровень соответствия, если он может быть обработан?

Имеет ли смысл мои сомнения?

1 Ответ

0 голосов
/ 31 марта 2020

убедился, что мне нужно установить уровень соответствия компилятора в Eclipse на 1.6

Нет, вам не нужно , чтобы сделать это, и, скорее всего, это очень плохая идея . Установка уровня соответствия компилятора на 1.6 заставляет ваш современный Java компилятор притвориться, что это старый Java 6 компилятор. Это означает, что старый код не нужно изменять для работы с новой языковой версией, но это также означает, что вы не сможете использовать любые языковые функции, которые были добавлены к языку Java за последние 15 лет. . Это звучит как очень высокая цена, чтобы не пришлось немного корректировать старый код для компиляции под новую Java версию.

...