Tomcat中以$1结尾的class文件是什么?

Java web项目中在Tomcat中的classes文件夹中出现了类似TranscriptServiceImpl$1.class的文件,可是项目中只有对应的TranscriptServiceImpl.java。我一开始以为是缓存文件,但是如果删除这类文件,会报找不到类的错误。

为何会出现这类文件?

阅读 7.3k
2 个回答

$1的是内部匿名类,估计代码里有这种形式的内部匿名类

class TranscriptServiceImpl extends TranscriptService{
    public void someMethod(){
        doSomeThing(new Object(){
            return new AnotherObject();
        })
    }
}

编译后的内部类

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题