Анонимный внутренний порядок классов - PullRequest
5 голосов
/ 20 января 2020

У меня есть фрагмент кода, подобный следующему в моем проекте:

public static void main(final String[] args) {
    System.out.println("Hello world");
    final TypeReference<String> tr1 = new TypeReference<>() {};
    final Runnable r = () -> {
        System.out.println("Running");
        final TypeReference<String> tr = new TypeReference<>() {};
        System.out.println(tr);
    };
    new Thread(r).start();
}

Это присутствует в eclipse, который работает с Java 11. Теперь, когда eclipse компилирует этот класс, он генерирует следующее files:

TestAnon.class
TestAnon$2.class
TestAnon$3.class

Поскольку у него есть два анонимных внутренних класса, имеет смысл иметь два разных файла классов с $. Однако постфиксами являются $2 и $3 вместо $1 и $2. Любая конкретная c причина создания файлов классов в этом порядке (и пропуск $1)?

PS Когда я компилирую класс в командной строке, он генерирует файлы классов в правильном порядке.

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