黑马程序员技术交流社区

标题: 关于Class的知识 [打印本页]

作者: 韩金蕊    时间: 2011-12-29 07:05
标题: 关于Class的知识
本帖最后由 韩金蕊 于 2011-12-30 09:46 编辑

Class是java类名的描述,通过Class可以定义多个字节码,但是要字节码有什么作用?
作者: 胡遇潮    时间: 2011-12-29 08:17
字节码里包含了一个类的所有信息:成员变量,方法,构造方法,包等信息,
利用反射技术可以对一个类进行解剖,把各个组成部分映射成一个个对象。Field,Method,Contructor,Package等等

Class cls1=new Date().getClass();
Class cls2=Date.class;
Class cls3=Class.forName("java.util.Date");

Class.forName("类名")返回字节码,返回的方式有两种:
1.这份字节码曾经被加载过已经呆在java虚拟机里了
2.java虚拟机里还没有这个类的字节码用类加载器加载进来的放在虚拟机里以后就不用再加载了



作者: 付星    时间: 2011-12-29 17:56
运行时要加载Class到虚拟机,字节码是一个类的描述,对于对类或对象的照射
类通过Class名.class,对象通过getClass()得生成多个对象的仅一份Class字节码
反射就要用到字节码对象Class来动态得到类或对象的数据,如得到字段getFeild()、方法getMethod()等
作者: 韩金蕊    时间: 2011-12-30 09:46
胡遇潮 发表于 2011-12-29 08:17
字节码里包含了一个类的所有信息:成员变量,方法,构造方法,包等信息,
利用反射技术可以对一个类进行解 ...

谢谢,明白了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2