匿名内部类排序

Dar*_*hta 6 java eclipse javac java-11

我的项目中有一个类似于以下内容的代码片段:

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();
}
Run Code Online (Sandbox Code Playgroud)

这存在于与 Java 11 一起运行的 eclipse 中。 现在,当 eclipse 编译此类时,它会生成以下文件:

TestAnon.class
TestAnon$2.class
TestAnon$3.class
Run Code Online (Sandbox Code Playgroud)

因为它有两个匿名内部类,所以有两个不同的类文件是有意义的$。但是,后缀是$2and$3而不是$1and $2。按此顺序生成类文件(并跳过$1)的任何具体原因?

PS 当我在命令行上编译类时,它会以正确的顺序生成类文件。