zoukankan      html  css  js  c++  java
  • 反射

    反射:框架设计的灵魂

    • 框架:半成品软件。可以在框架的基础上进行软件开发,简化编码。
    • 反射:将类的各个组成部分封装为其他对象,这就是反射机制。
      • 好处:
        • 可以在程序运行过程中,操作这些对象。
        • 可以解耦,提高程序的可扩展性。
    • 获取Class对象的方式:
      1. class.forName("全类名"):将字节码文件加载进内存,返回class对象
        1. 多用于配置文件,将类名定义在卑职文件中、读取文件,加载类。
      2. 类名.class:通过类名的属性来class获取
        1. 多用于参数的传递
      3. 对象.getClass():getClass()方法在Object类中定义着。
        1. 多用于对象的获取字节码的方式
    • 结论:
      • 同一个字节码文件(*.class)在一次程序运行过程中,只会被加载一次,不论通过哪一种方式获取的class对象都是同一个。

    获取字节码Class对象的三种方式

    • Class对象功能:
      • 获取功能:
        • 获取成员变量:
          • Field[] getFileds()
          • Field getField(String name)
          • Field[] getDeclareFields()
          • Field getDeclareField(String name)
        • 获取构造方法:
          • Constructor<?>[] getConstructors()
          • Constructor getConstructor(类<?>...parameterTypes)
          • Constructor getDeclaredConstructor(类<?>...parameterTypes)
          • Constructor<?>[] getDeclaredConstructors()
        • 获取成员方法:
          • Method[] getMethods()
          • Method getMethod(String name,类<?>...parameterTypes)
          • Method[] getDeclareMethods()
          • Method getDeclareMethod(String name,类<?>... parameterTypes)
        • 获取类名
          • String getName()
  • 相关阅读:
    谷歌(google)广告尺寸大小列表
    D盘Program Files 文件夹里文件不显示,没隐藏。怎么才能显示出来?
    请问IOS中做一个手机网站的app壳复杂吗?
    zblog2.X 连不上数据库原因
    二叉查找树的实现与讲解(C++)
    记一次应用异常,处理过程
    C# RSA加密
    js对象 c#对象转换
    C# 微信消息模板 发送
    iis 虚拟目录 文件服务器
  • 原文地址:https://www.cnblogs.com/Xiaoming0/p/14033548.html
Copyright © 2011-2022 走看看