java反射机制有什么用,java的反射机制
Java 反射机制是在运行状态中,对于任意一个类,都能够获得这个类的所有属性和方法,对于任意一个对象都能够调用它的任意一个属性和方法。
如何解决写爬虫IP受阻的问题?立即使用。
这种在运行时动态的获取信息以及动态调用对象的方法的功能称为 Java 的反射机制。(推荐学习:java课程)
类与java.lang.reflect类库一起支持反射的概念,该类库包含字段、方法和构造函数类(每个类实现成员接口)。这些类型的对象是由JVM在运行时创建的,用来表示未知类的相应成员。
这样,您可以使用构造函数创建新对象,使用get()和set()方法读取和修改与field对象关联的字段,使用invoke()方法调用与method对象关联的方法。
此外,可以调用getFields() getMethods()和getConstructors()等方便的方法来返回表示字段、方法和构造函数的对象数组。这样,匿名对象的信息就可以在运行时完全确定,编译时什么都不需要知道。
通过反射机制获取类信息
对象是由反射机制创建的。在创建对象之前,获取对象的构造函数对象,由构造函数对象创建相应类的实例。
下面的代码创建一个没有参与的对象实例,在运行时没有参与。由于getConstructor()方法和newInstance()方法抛出了很多异常(可以通过源代码查看),这里就简单的直接抛出一个异常,下同。
包com . jas . reflect;
导入Java . lang . reflect . constructor;
公共类反射测试{
公共静态void main(String[] args)引发异常{
Class clazz=null
clazz=class . forname( com . jas . reflect . fruit );
constructor fruit constructor 1=clazz . get constructor();
constructor fruit constructor 2=clazz . get constructor(string . class);
水果fruit 1=constructor 1 . new instance();
fruit fruit 2=constructor 2 . new instance( Apple );
}
}
水果类{
公共水果(){
系统;出;println(无参数构造函数运行.);
}
公共水果(串型){
系统;出;println(运行..带参数构造函数的“类型”);
}
}输出:
不带参数构造函数运行..
有构造函数运行..Appl .以上是java中反射机制是什么的细节。请多关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。