黑马程序员技术交流社区
标题:
关于获取字节码的三种方式的疑惑
[打印本页]
作者:
王虎
时间:
2012-10-31 14:15
标题:
关于获取字节码的三种方式的疑惑
什么时候用 .class
什么时候用 getClass()
什么时候用 ClassforName()
以及他们之间有什么区别?内存中和jvm中的字节码又是怎么个运作原理,最好上个图解释下
作者:
张忠豹
时间:
2012-10-31 15:14
什么时候用 .class 已经知道这个类,而且这个类可能已经引入到当前类中,或者与当前类在同一个包中,就是用这个方法。
什么时候用 getClass() 在本道程序中存在对象,那么可以直接通过对象来调用。
什么时候用 ClassforName() 在知道这个类名,而且这个类没有已经引入到当前类中、或者这个类没有相关对象,这个时候使用此方式最好。
区别:也就是使用方式的区别。第三种最灵活。Class.forName(String变量),只要我改变一下这个String变量,就会加载相关的字节码。使程序变得灵活。
作者:
王得新
时间:
2012-10-31 15:22
区别二楼已经说了,在此不作赘述,下面的两张图,是我回答另一个帖子时画的,可以和二楼加在一起做个补充
1.png
(37.75 KB, 下载次数: 8)
下载附件
2012-10-31 15:21 上传
图1
2.png
(10.6 KB, 下载次数: 8)
下载附件
2012-10-31 15:21 上传
图2
作者:
王虎
时间:
2012-10-31 17:44
楼上两位辛苦了,解释的很好{:soso_e183:}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2