java反射获取属性名和值_Java编程语⾔反射
types是什么意思Java反射指的是对于任何的⼀个java类,我们都可以通过反射获取到这个类的所有属性和⽅法(包含私有的属性⽅法),使⽤java反射我们也可以调⽤⼀个对象的任何⽅法。
我们知道Java是⼀门⾯向对象编程的语⾔,我们编程的时候,经常会将类的属性进⾏封装,然后提供public⽅法进⾏属性的设置和获取。类的属性我们通常会设置成private的私有属性,为的就是保护对象属性不被随意地修改和访问。但是反射机制却恰恰相反,通过反射,我们可以获取到这些被保护的属性和⽅法,并且可以修改和访问他们。
在java中我们可以使⽤object对象的getClass();⽅法获得Class的对象classObject;语法格式为 Class classObject = Class();可以根据Class对象的⽅法获取object对象的相关属性和⽅法;
获取object对象的名字可以使⽤ Name();获取类的名称,获取到的结果包含包的名称;
获取object对象的包名称,可以使⽤Package();获取包的名称;
获取object对象的所有public属性,可以使⽤Fields();⽅法,返回列表是属性类Field[]对象列表;
获取object对象所有属性,可以使⽤DeclaredFields();⽅法,返回的是所有属性列表(包含private属性);
获取object对象某个特定的属性,可以使⽤Field( fieldName );可以根据属性名称获取属性类的对象;
获取object对象private属性,可以使⽤DeclaredField( fieldName );根据属性名获取属性对象信息;
获取object对象public⽅法,使⽤Methods();可以获取到⽅法类Method[]对象列表;
获取object对象某个特定的public⽅法,使⽤Method( funName , Class…… parameterTypes);根据⽅法名和⽅法参数类型列表,可以获取到⽅法类的对象;
获取object对象所有⽅法(包含private⽅法);使⽤DeclaredMethods();可以获取所有的⽅法对象列表;
获取object对象某个特定⽅法(包含private⽅法),使⽤DeclaredMethod ( funName, Class…… parameterTypes );根据⽅法名和⽅法参数类型列表,可以获取到类的特定⽅法(包含private⽅法);
获取object对象类中所有的public构造⽅法,可以使⽤Constructors(); 获取到构造类Constructor的对象列表;
获取object对象类中某个特定的构造⽅法,可以使⽤Constructor( Class…… parameterTypes ); 根据参数类型列表,获取指定的构造函数对象;
获取object对象类中所有的构造⽅法(包含private),可以使⽤DeclaredConstructors(); 获取到构造类Constructor的对象列表;
获取object对象类中某个特定的构造⽅法(包含private),可以使⽤DeclaredConstructor( Class…… parameterTypes ); 根据参数类型列表,获取指定的构造函数对象;
以上就是关于Java反射的基础知识。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论