首页 > 代码库 > Java反射机制的用法
Java反射机制的用法
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方法执行该方法。
数组
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。