黑马程序员技术交流社区

标题: 三种加载类方法的区别 [打印本页]

作者: "O_忆_O    时间: 2013-7-12 23:48
标题: 三种加载类方法的区别
本帖最后由 "O_忆_O 于 2013-7-14 00:42 编辑

反射技术中,三种加载类的方法有什么区别吗?
  1. //1
  2. Class clazz=Class.forName("cn.itcast.reflect.Person");
  3. //2
  4. Class clazz1=new Person().getClass();
  5. //3
  6. Class clazz2=Person.class;
复制代码

作者: 张承富    时间: 2013-7-13 20:11
第一和第三种是根据类来获取Class类的对象,
第二种是根据类的对象来获取Class类的对象
作者: 280270738    时间: 2013-7-13 21:32
就是用类名和对象来加载的区别
作者: 张云杰    时间: 2013-7-14 02:46
本帖最后由 张云杰 于 2013-7-14 03:16 编辑

Class clazz=Class.forName("cn.itcast.reflect.Person");   //直接通过所在的包下的类获取到字节码对象



Class clazz1=new Person().getClass();  // 通过类的实例获取到字节码对象



Class clazz2=Person.class;   // 通过已知的某个对象去获取字节码对象   PS: 这个 .class 是属于Object的方法





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