社区
Java SE
帖子详情
请教高手这个“$”是什么东东呀??急急!!!
chyuping
2003-05-28 05:14:33
static Class class$(String x$0)
……
static Class class$java$lang$Boolean;
这里的$是什么意思呀,这样定义类变量???????
class$java$lang$Boolean是什么呀
还有class$是什么呀???
晕……
...全文
30
15
打赏
收藏
请教高手这个“$”是什么东东呀??急急!!!
static Class class$(String x$0) …… static Class class$java$lang$Boolean; 这里的$是什么意思呀,这样定义类变量??????? class$java$lang$Boolean是什么呀 还有class$是什么呀??? 晕……
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fpwang
2003-05-29
打赏
举报
回复
回复人: kknd97(绝地风暴) 的介绍很详细也很深入
简单来说就是,在JAVA中$是个无意义的字符,可以用来命名JAVA中的标识符(变量名、类名等)
但是有一些没有硬性规定的约定,就是一般含有$字符的标识符都是编译器生成的。
thinkerhj
2003-05-29
打赏
举报
回复
跟你用的反编译工具有关、跟java无关。
司码君
2003-05-29
打赏
举报
回复
是美元啊!!!我想要!!
做梦中................
hayai
2003-05-29
打赏
举报
回复
那是反编译的问题。反编译不够完善。
要看J2SE classes的源代码,JBuilder里有。
不要相信任何反编译,至少我不信。
chyuping
2003-05-29
打赏
举报
回复
static Class class$(String x$0)
……
static Class class$java$lang$Boolean;
这些是我用jad反编译后得到的源码,死活看不懂呀!!!!!
zosatapo
2003-05-29
打赏
举报
回复
: wantvictory(爱就爱到底......) ( ) 信誉:93
你说的那个是RTTI使用的,主要用来分析类的组合结构以及类的继承层次判定。
JAVA里面叫做“反射”或者“自检”。如果你用过MFC,你就是知道了
zosatapo
2003-05-29
打赏
举报
回复
class 的完整名字是包括package名字的,那怎么表示这个类的完整名字呢,SUN就用了上面这个方法的。不要问为什么的,因为已经没有为什么可以问了,也许是人家一时高兴就这样表示了。
Jawan_lee
2003-05-29
打赏
举报
回复
这是inner类的问题
你可以找一本相关的书看一下呢
xyzxyz1111
2003-05-29
打赏
举报
回复
美刀
hoxisoft
2003-05-29
打赏
举报
回复
这个就是所谓的“类中类”了,他都用$表示
wantvictory
2003-05-28
打赏
举报
回复
比如Class class$还有Class class$java$lang$Boolean是什么意思呀
---------------------------------------------------------------
不太清楚,关注,共同学习。。。。
chyuping
2003-05-28
打赏
举报
回复
各位高手:你们解释的是在文件名中有$的情况,可是$在程序代码中是什么意思,比如
Class class$还有Class class$java$lang$Boolean是什么意思呀,还是不明白,think-in-java中的多形性那一章看了,也解释的是最后文件名中的$,这个我明白,可是放到代码里好象不是这个意思????恳请高手再解答!!!
cavalry001
2003-05-28
打赏
举报
回复
think in java中写的很详细,读后之后你就会清楚的
kknd97
2003-05-28
打赏
举报
回复
由于每个类都会生成一个.class文件,用于容纳与如何创建这个类型的对象有关的所有信息(这种信息产生了一个名为Class对象的元类),所以大家或许会猜到内部类也必须生成相应的.class文件,用来容纳与它们的Class对象有关的信息。这些文件或类的名字遵守一种严格的形式:先是封装类的名字,再跟随一个$,再跟随内部类的名字。例如,由InheritInner.java创建的.class文件包括:
InheritInner.class
WithInner$Inner.class
WithInner.class
如果内部类是匿名的,那么编译器会简单地生成数字,把它们作为内部类标识符使用。若内部类嵌套于其他内部类中,则它们的名字简单地追加在一个$以及外部类标识符的后面。
这种生成内部名称的方法除了非常简单和直观以外,也非常“健壮”,可适应大多数场合的要求(注释③)。由于它是Java的标准命名机制,所以产生的文件会自动具备“与平台无关”的能力(注意Java编译器会根据情况改变内部类,使其在不同的平台中能正常工作)。
③:但在另一方面,由于“$”也是Unix外壳的一个元字符,所以有时会在列出.class文件时遇到麻烦。对一家以Unix为基础的公司——Sun——来说,采取这种方案显得有些奇怪。我的猜测是他们根本没有仔细考虑这方面的问题,而是认为我们会将全部注意力自然地放在源码文件上。
希望对你有帮助,具体细节请参看 think-in-java 第7章 多形性
祝你好运!
mouseleeky
2003-05-28
打赏
举报
回复
这个我不太清楚。
不过如果你在类A中定义了一个叫B的类(也就是说B是A的inner class),则生成的.class文件中会有一个叫A$B.class的。
我在CSDN参与的3000个帖子
今日偶然翻到,感慨万千 1:申述:版主,是否扣了我的专家分? 2:100分急求,随机输出十个小写字母,但是,要求这十个字母不相同 3:求Sn=a+aa+aaa+…+aaa…a(n个a)之值 4:数组题 望
高手
帮忙! 5:呵呵,来推荐一下我的网站,本站提供大量当今流行的免费的音乐和免费电影,常用软件、游戏、精美图库下载,希望对网友有帮助!顺便散分! 6:VBA
请教
怎
.Net HTML 硬件
在VC.net中如何动态创建ActiveX控件
请教
斑竹及各位专家:关于DLL中类的动态链接,重要!在NT Service中调用WMI启动一个nodepad,为什么没有界面?关于CFileDialog的多选文件问题关于socket的问题?100+100=200如何将VC7中的char * 数组转换为c#中的byte[],大家赶快支援!!win2000的用户登录api,LogonUser(...)解析
[转][小说]我是一名黑客
[转][小说]我是一名黑客 这几天眼睛要好受些了,因为刚买了一个15’的液晶显示器。也许你会觉得我以前的那个特丽珑的17"的显示器应该很威风才对。呵呵,对一个整天15个小时以上坐在显示器面前,距离不超过30厘米的人来说。那个CRT显示器绝对是一个祸害!眼睛红仲,布满血丝。头发脱落,食欲不振,出门还特别怕光,这些都和那个CRT显示器绝对脱不了关系。 分析这个攻击目标已经1个多星期了,
我是一个黑客
作者:无名 1.我是一个黑客 这几天眼睛要好受些了,因为刚买了一个15’的液晶显示器。也许你会觉得我以前的那个特丽珑的17"的显示器应该很威风才对。呵呵,对一个整天15个小时以上坐在显示器面前,距离不超过30厘米的人来说。那个CRT显示器绝对是一个祸害!眼睛红仲,布满血丝。头发脱落,食欲不振,出门还特别怕光,这些都和那个CRT显示器绝对脱不了关系。 分析这个攻击目标已
csdn的>,精彩连载!
正文 第一章 大学 作为一个真正的程序员,首先应该尊重编程,热爱你所写下的程序,他是你的伙伴,而不是工具。 /* */ 我放弃清华计算机专业的保送资格而选择参加高考的消息震撼了全校,从校长到班主任到各科目任课老师都找我谈过话,我有点惊异他们的变化,在我获得全国信息大赛一等奖外加特别奖以前我似乎是个可有可无的人物,突然间变的如此的炙手可热,我觉得我的大脑前所未有的不够用。 说起这个特别奖...
Java SE
62,614
社区成员
307,327
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章