博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
匿名内部类,静态内部类,非静态内部类,方法内部类,编译后的名字
阅读量:6933 次
发布时间:2019-06-27

本文共 1123 字,大约阅读时间需要 3 分钟。

public class App{    public static void main(String[] args)    {            }        public TestInterface test()    {        return new TestInterface()        {        };    }        public TestInterface test2()    {        return new TestInterface()        {        };    }            interface TestInterface    {            }        class InnerClass    {        public void innerClass()        {            class I            {                            }            I i = new I();                    }        public void innerClass2()        {            class I            {                            }            I i = new I();                    }    }        static class Test    {                public TestInterface test()        {            return new TestInterface()            {            };        }    }    }

看下图.

第一个App.class,没啥好解释的

可以发现,如果类有名字,那么就是xxx$xx.class,对于没有名字匿名内部类,用数字代替类名,因为数字在语言规范里是不正确的类名,用户代码里面的类名不可能就是一个数字.

第二个,对于方法体里面内部类,编译后的类名,xxx$xxx$数字+类名.class格式,一定要加数字,因为无法保证在另外一个方法里面不会出现同样的类名.

 

posted on
2018-08-12 16:16 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/shuiyonglewodezzzzz/p/9463337.html

你可能感兴趣的文章
EntityFramework外健的读写
查看>>
codeforces Gym 100500 J. Bye Bye Russia
查看>>
想做Android Wear开发?你得先搞明白这四件事
查看>>
js基础进阶--promise和setTimeout执行顺序的问题
查看>>
mongoose再认识(三)
查看>>
你真的了解RPC吗?
查看>>
Composer简明教程
查看>>
jsonP格式接口实现
查看>>
INDIGO STUDIO神器!快速创建WEB、移动应用的交互原型工具【转】
查看>>
我的2017云栖之行
查看>>
HSQLDB安装与使用方法
查看>>
重拾C++之初始化
查看>>
maven nexus 下发布第三方构件;
查看>>
Java学习之深拷贝浅拷贝及对象拷贝的两种方式
查看>>
如何根据动态SQL代码自动生成DTO
查看>>
html input="file" 浏览时只显示指定文件类型 xls、xlsx、csv
查看>>
Android Export aborted because fatal error were fo
查看>>
在window平台下模拟Liunx使用GCC环境进行编译C的SO库。
查看>>
原来一直纠结MQ的用法,今天看到了一个最经典的例子。
查看>>
Resource is out of sync with the file system的解决办法
查看>>