黑马程序员技术交流社区
标题:
得到各个字节码对应的实例对象
[打印本页]
作者:
whocases
时间:
2012-6-22 17:42
标题:
得到各个字节码对应的实例对象
本帖最后由 whocases 于 2012-6-24 21:48 编辑
得到各个字节码对应的实例对象可以通过类名.class;对象.getClass();Class.forName("类名")三种方法,那么这三种方法有什么区别呢?
作者:
燃烧端午
时间:
2012-6-22 17:49
Class clazz=A.class; JVM使用类A的类装载器,将类A装入内存(前提是:类A还没有装入内存),不对类A做类的初始化工作.返回类A的Class的对象
Class clazz=对象引用obj.getClass();返回引用obj运行时真正所指的对象所属的类的Class的对象
Class.forName("类名");将类A装入内存 ,并做类的初始化
作者:
吴超
时间:
2012-6-22 21:33
Object getClass();
获取Class对象的方式一:
Person p=new Person();
p.getClass();
获取Class对象方式二:
每一个类型都具备一个class静态属性
通过该属性即可获取该类的字节码文件对象
比第一种简单了一些,仅用一个静态属性就搞定了
但是,还是有一点不方便,还必须要使用到该类
Class clazz=Person.class;
获取Class对象方式三:
去找Class类中是否有提供对应的获取方法呢?
找到了,forName 返回class
Class clazz=Class.forName("cn.itcast.bean.Person");//必须明确全类名,包名。类名
forName的作用
返回字节码:返回范式1.这份字节码曾经在加载过,已在jvm中,直接返回
jvm还没有这份字节码,则用类加载,把字节码加载
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2