java的类不要使用$的原因分析

本文为各位介绍了java中类不使用$的原因,希望对学习java的同学有帮助。Java标识符由字母、数字、货币符号(¥、$等)、连接符号(_等)组成。但是有时候轻易使用$时,会出现你意想不到的惊喜哦。

java的类不要使用$的原因分析

下面是在Java中标识符的定义

在大多数人的理解中,Java标识符的定义规则如下。

1.标识符由字母、数字、货币符号(¥、$等)、连接符号(_等)组成。(这里的字母为Unicode字符集, 而不再局限于传统的26个英文字母。)

2.标识符的首字符可以是字母、货币符号与连接符号,但不能是数字。

3.标识符不能与Java中的关键字相同。

4.标识符不能和Java中预定义的字面常量名称相同(true、false、 null)。

(推荐视频:java视频教程)

但是有时候轻易使用$时,会出现你意想不到的惊喜哦。比如下面的代码:

在Ly的类中创建了一个内部类xy

然后呢?在运行这个类的时候经过编译惊奇的事情出现了,生成了一个Lyxy.class与Ly.class两个class文件如果我么在写一个Ly xy.class 与Ly.class两个class文件如果我么在写一个Lyxy.class与Ly.class两个class文件如果我么在写一个Lyxy那么是不是会出现类重复呢?

1.jpg

2.jpg

如果按照下面的方法写的话会出现类重复的现象

究竟是哪个类重复了呢?可以参考上面的运行结果进行分析

从上面运行产生的class文件可得Ly$xy.class会出现重复的现象,所以会报错

3.jpg

4.jpg

本文来自Java架构师必看网,java教程栏目,欢迎学习!

本文来源,由架构君转载发布,观点不代表Java架构师必看的立场,转载请标明来源出处:https://javajgs.com/archives/35951
0

发表评论