java反射技术

反射的三种方式

1.第一种方式:Object——>getClass()
  因为Object类中存在getClass()方法,而所有类都继承了Object类,所以可以调用Object类来获取。
 例如:

          Student stu=new Student();
          Class stuclass1=stu.getClass();
          System.out.printIn(stuclass1);

·  但第一种方式下,对象都已经有了还要反射什么,所以几乎不用这种方式。
2.第二种方式:任何数据类型(包括基本数据类型)都有一个“静态”的class属性,我们可以据此获得。
 例如:

          Class stuclass2=Stundent.getClass();
          System.out.printIn(stuclass2);

·  第二种序号导入类的包,依赖性太强,不导入包就会抛出编译错误,所以用的也不多。
3.第三种方式:通过Class的静态方法forName(String className)。
 例如:

          Class stuclass3=Class.forName("myj.Student");
          System.out.printIn(stuclass3);

·  一般我们使用的都是第三种方式,一个字符串可以传入也通过配置文件导入。(这里需要注意,通过类的全路径名获取Class对象会抛出一个异常,如果根据类路径找不到这个类那么就会抛出这个异常。)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。