今天小编给大家分享一下Java反射机制怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。要想解剖一个类,必须先要获取到该类的字节码文件对象。而解剖使用的就是Class类中的方法.所以先要获取到每一个字节码文件对应的Class类型的对象.第一种方式:通过调用java.lang.Class
类下的静态方法:static Class forName(String className)
注意:参数是一个带有包名的完整类名(同目录下的可以只写类名)。抛出编译时异常:ClassNotFountException
。该方法会导致相应的类被类加载。代码如下:编译结果:第二种方式:Object类下有个方法: public final Class getClass()
—– 返回此对象的Class。代码如下:第三种方式:Java种任何一种类型,包括基本数据类型,都有class静态属性,直接通过 类名.class
,就可以返回相应的Class类。代码如下:相关方法:public Field[] getFields() ——- java.lang.Class中的方法,将类中public修饰的属性以数组的形式返回public Field[] getDeclaredFields() —— java.lang.Class中的方法,将类中所有的属性以数组的形式返回public Class getType() —— java.lang.reflect.Field中的方法,获取属性的类型并返回public int getModifiers() —– java.lang.reflect.Field中的方法,获取属性的修饰符,并以整数编码的形式返回(一个整数编码可能代表多个修饰符)static String toString(int mod) —— java.lang.reflect.Modifier中的静态方法,传入修饰符的整数编码,以字符串的形式将修饰符返回代码如下:编译结果如下:创建一个User类,如下:代码如下:java.util包下提供了一个资源绑定器,便于获取属性配置文件中的内容。使用以下这种方式的时候,属性配置文件xxx.properties必须放到类路径下。代码如下:首先我们创建一个属性配置文件,如下:className = User
fieldName = name
fieldValue = zhangsan样例代码如下:代码如下:编译结果:使用反射机制调用一个对象的方法,步骤如下:获取对应类的Class对象。通过反射机制实例化出一个对象。通过方法 :public Method getDeclaredMethod(String name, Class... parameterTypes)
,获取对应的Method对象注意:getDeclaredMethod
方法是在java.lang.Class
下的方法,第一个参数是方法名,第二个参数是可变长参数,是该方法的形式参数类型列表通过方法:public Object invoke(Object obj,Object... args)
,可以调用Method对象对应的方法。注意:该方法是java.lang.reflect.Method
下的方法,第一个参数是对象,第二个参数是方法的实际参数列表。往User类中添加方法,如下:代码如下:编译结果如下:编译结果如免费云主机域名下:代码如下:代码如下:编译结果如下:以上就是“Java反射机制怎么使用”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注百云主机行业资讯频道。
今天小编给大家分享一下es6如何删除数组中的某一项的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。 删除方法:1、用splice()根据下标删除任…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。