java反射机制的作用是什么,java反射机制的原理和用途

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: