• java反射


    反射定义:

    程序可以访问,检测和修改它本身状态或行为的一种能力,并能根据自身行为的状态和结果,调整或修改应用所描述行为的状态和相关的语义。一个类有多个组成部分,例如:成员变量、方法、构造方法等,反射就是加载类,并解剖出类的各个组成部分。

    功能作用:

    反射机制主要提供以下功能:
     
    ①在运行时判断任意一个对象所属的类;

    ②在运行时构造任意一个类的对象;

    ③在运行时判断任意一个类所具有的成员变量和方法;

    ④在运行时调用任意一个对象的方法;

    ⑤生成动态代理。
     
    与反射有关的类:
    java.lang.Class;
    java.lang.reflect.Constructor;
    java.lang.reflect.Field;
    java.lang.reflect.Method;
    java.lang.reflect.Modifier;
     

    使用步骤:

    导入java.lang.relfect包

    三个步骤

            第一步,是获得你想操作的类的java.lang.Class对象

            第二步,是调用诸如getDeclaredMethods的方法

            第三步,使用反射API来操作这些信息

    获得Class对象的方法

    1、如果一个类的实例已经得到,你可以使用

    Class c =对象.getClass()

    2、如果你在编译期知道类的名字,你可以使用如下的方法

    Class c = java.awt.Button.class

    3、如果类名在编译期不知道,但是在运行期可以获得,你可以使用下面的方法

    Class c = Class.forName(str)

    反射优点: 
    (1)能够运行时动态获取类的实例,大大提高系统的灵活性和扩展性。 
    (2)与Java动态编译相结合,可以实现无比强大的功能 


    反射缺点: 
    (1)使用反射的性能较低 
    (2)使用反射相对来说不安全 
    (3)破坏了类的封装性,可以通过反射获取这个类的私有方法和属性 

  • 相关阅读:
    requests-验证码登录
    python接口
    Xmanager6
    jmeter提取变量注意事项
    badboy录制
    Config 多账户多区域数据聚合
    AWS Aurora数据库 Multi-Master
    确定客户主密钥的过去使用情况
    将应用程序部署到 AWS Elastic Beanstalk 环境
    VPC Peering 具有特定路由的配置
  • 原文地址:https://www.cnblogs.com/thingk/p/10129918.html
走看看 - 开发者的网上家园