Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Java SE 综合讨论区  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 【转贴】这是java未公开的写法么?
woodworm





发贴: 80
积分: 1
于 2003-06-20 08:41 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
class Test{
static public void main(String[] args)
{
  
System.out.println(Test.class); //这句话的.class怎么来的?

}
}

编译运行都没问题。谁能说一下原理?
======================================
xxx.class
表示的是一个Class(类)的实例,当然是继承子Object而Object有一个toString()方法,也就是说所有的对象都可以用System.out.println(**),实际上就是System.out.println(***.class.toString)

记住xxx.class是一个类实例就好了

======================================
实际上这里没有什么原理,因为这是Java语言规范就是这样的,将.class看作对应的类的Class对象静态的显式引用,事实上类装载后该类就由虚拟机自动产生了,并作为一个静态对象存在的.
======================================
这个是java中对于rtti的支持

obj.getClass


Object.class是一样的。
======================================
反正是个关键字用法
ejb中经常用到
eg:
LocalProductHome home=(LocalProductHome)PortalbeRemoteObject.narrow(yourref,LocalProductHome.class);
不知是什么时候加进这个用法的,俺也没看见过正式声明过

出处:http://expert.csdn.net/Expert/topic/1935/1935478.xml?temp=.6278192




话题树型展开
人气 标题 作者 字数 发贴时间
4060 【转贴】这是java未公开的写法么? woodworm 850 2003-06-20 08:41
2904 Re:【转贴】这是java未公开的写法么? zhongyijie 32 2003-07-24 11:03

flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923