您的位置:首页 > 编程语言 > Java开发

Java反射机制的使用方法

2016-01-12 12:32 399 查看
Java的反射机制同意你在程序执行的过程中获取类定义的细节。有时候在程序执行的时候才得知要调用哪个方法,这时候反射机制就派上用场了。

获取类

类的获取方法有下面几种:

forName()。通过Class.forName()获取与字符串向相应的类。

比方\lstinline{Class.forName("java.lang.String");}。
getClass()。每一个对象都有这种方法。比方\lstinline{Foo foo; ...; foo.getClass();}。
类名.class。直接通过类名获取这个类的反射对象。比方String.class。
基本类型的类。

比方Integer.TYPE。

这样的方法与Integer.class是由差别的。一个是基本类型(Primitive type)。一个是复合类型(Composition)。

获取构造函数

获取构造函数由下面几种方法:

getConstructor(Class[] params)。获取公共的构造函数。

getConstructors()
getDeclaredConstructor(Class[] params)。获取全部构造函数。
getDeclaredConstructors()

获取构造函数之后能够通过newInstance生成一个新的实例。

获取字段

获取字段的方法有下面几种:

getField(String name)。获取公共的字段。
getFields()。

getDeclaredField(String name)。获取全部的字段。
getDeclaredFields()

获取字段之后能够通过getDouble getInt等方法获取变量的值。也能够通过setDouble setInt等方法给变量赋值。

获取成员方法

获取方法的方法有下面几种:

getMethod(String name, Class[] params)。获取公共的方法。

getMethods()
getDeclaredMethod(String name, Class[] params)。

获取全部的方法。
getDeclaredMethods()

获取成员方法之后能够调用invoke方法运行该方法。

数组

数组也是一个特殊的类型,因此Java中提供了java.lang.reflect.Array实现数组的动态操作。创建一个数组能够调用newInstance(type, count)方法,获取一个元素能够通过get(array, index)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: