匿名类是如何在 Java 中编译的? [英] How are anonymous classes compiled in Java?

查看:38
本文介绍了匿名类是如何在 Java 中编译的?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我听说 Java 字节码实际上不支持任何类型的未命名类.javac 如何将无名类翻译成有名类?

I've heard that Java bytecode actually doesn't support any kind of unnamed classes. How does javac translate unnamned classes to named ones?

推荐答案

它综合了一个 EnclosureClass$n 形式的名称,其中n"是 EnclosureClass 中匿名类的计数器.因为不鼓励在标识符中使用 $,所以这些名称不应与任何用户指定的名称冲突.

It synthesizes a name of the form EnclosingClass$n, where "n" is a counter for anonymous classes in EnclosingClass. Because using $ in identifiers is discouraged, these names should not collide with any user-specified names.

这篇关于匿名类是如何在 Java 中编译的?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆