java反射机制的作用是什么,java反射机制的原理和用途
如何解决写爬虫IP受阻的问题?立即使用。
java反射机制原理:
一、反射机制的概念:
在运行状态下,可以知道任何类的所有属性和方法,可以调用任何对象的任何方法。这种动态获取信息,动态调用对象方法的功能被称为java语言的反射机制。
二、反射机制的应用:
生成动态代理,面向切片编程(调用方法前后堆栈帧)。
三、反射机制的原理:
1.首先明确概念:一切都是对象——类也是对象。
2.然后知道class: modifier构造函数字段方法的内容。
3.其次,理解加载:Animal.class在硬盘的时候,是一个文件。当它被加载到内存中时,它可以被认为是一个对象,一个java.lang.class的对象。
程序运行时,Animal.class对象在实例化时生成。这两个对象有什么区别?
如下图,上面的Animal.class对象是java.lang.class的对象;以下对象是通过实例化Animal.class生成的
4.Animal.class加载到JVM中时,JVM如何识别Animal.class中包含的方法、成员变量、构造方法等内容?
如下图,Animal.class实例化对象中成员变量的颜色为红色;
当载入内存时,外套颜色=null,但是当实例化时,外套颜色被指定为红色。
Animal.class中的fur color属性是java.lang.class的Field属性值,fur color也是java.lang.class的对象,这也是反射机制动态获取信息,动态调用对象方法的原因。
下图显示了Java.lang.class中的方法
在java.lang.class中,毛发颜色是Field的属性值。Animal中的所有方法、成员变量、构造函数、修饰符都是按照java.lang.class中的标准编写的,否则编译时会报错。
四。辐射机制的简单示例代码
公共类_ 14 _反射测试07
{
公共静态void main(String[] args)引发异常{
//1.去上课
class c=class . for name( _ 12 _ CustomerService );
//获取特定的方法
//Pass:方法名参数列表
方法m=c.getDeclaredMethod(login ,String.class,string . class);
//通过反射机制执行登录方法。
object o=c . new instance();
//调用O对象的M方法,传递 admin123 参数,方法执行结果为retValue
Object retValue=m.invoke(o, admin , 123 );
system . out . println(retValue);//真
}
}
公共类_ 12 _客户服务
{
//登录
公共布尔登录(字符串名称,字符串密码){
if(admin )。等于(名称)“123”。等于(密码)){
返回true
}
返回false
}
//退出
公共void注销(){
System.out.println(系统已安全退出!);
}
}以上是java反射机制原理是什么的细节。更多请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。