Java反射机制是一个非常强大的功能,在Spring和Mybatis等许多大型项目中都有发现。 通过反射机制,我们可以在运行时获取对象的类型信息。 这个特性可以让我们实现工厂模式、代理模式等设计模式,也可以解决Java泛型删除等有问题的问题。 下面的Java课程从实际应用的角度来使用Java的反射机制。
反射基础知识
ps.s:本文要求,读者了解反射机制他们对API有一定程度的了解。 如果您从未接触过它,建议您查看一下官方的快速入门文档。
在应用反射机制之前,我们先来看一下如何获取对象对应的反射类。 在Java中,有3种方法可以获取对象的反射类。
关于getClass方法
在Java中,每个对象都有一个getClass方法Method。 通过getClass方法,我们可以获得这个对象对应的反射类:
Strings="ziwenxie";
Class>c=s.getClass();
关于forName方法
我们还可以调用类class的静态方法forName:
Class>c=Class.forName("java.lang.String");
使用.class
或者我们可以直接使用.class:
Class>c=String.class;
获取类型信息
在文章开头我们提到反射的优点之一就是它可以让我们获取下面我们将仔细看看一个例子。
首先我们在typeinfo.interfacea包下新建一个接口A:
packagetypeinfo.interfacea;
publicinterfaceA{voidf();
然后我们给出信息a在包.packageaccess下创建新的接口C。 接口C继承自接口A,我们还创建了几个额外的方法用于测试。 注意以下方法的权限是不同的。
上一篇:java反射的原理是什么
下一篇:java反射原理简单介绍