Java基础学习:注解和反射05( 反射机制 )

Java基础学习:注解和反射05

  • 反射机制:Java Reflection

     

  • 目录:

    • Java反射机制概述

    • 理解Class类并获取Class实例

    • 类的加载与ClassLoader

    • 创建运行时类的对象

    • 获取运行时类的完整结构

    • 调用运行时类的指定结构

 

  • 静态 VS 动态语言:

    • 动态语言:

      • 是一种在运行时可以改变其结构的语言:例如新的函数,对象,甚至代码可以被引进,已有的函数可以被删除或是其他结构上的变化。通俗点说就是在运行时,代码可以根据某些条件改变自身结构。

      • 主要动态语言:Object-C , c# ,JavaScript , PHP, , Python等

    • 静态语言:

      • 与动态语言相对应的,运行时结构不可改变的语言就是静态语言。如Java , C, C++;

      • Java不是动态语言,但Java可以称之为”准动态语言“。即Java有一定的动态性,我们可以利用反射机制获得类似动态语言的特性。Java的动态性让编程的时候更加灵活;

 

  • Java Reflection:

    • Reflection (反射) 是Java被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API 取得任何类的内部信息,并能直接操作任意对象的内部属性及方法;


      Class c=Class.forName("java.lang.String");
    • 加载完类后,在堆内存方法区中就产生了一个Class类型的对象(一个类只有一个Class对象);

      • 这个对象就包含了完整的类的结构信息。

      • 我们可以通过这个对象看到类的结构;

      • 这个对象就像一面镜子,透过这个镜子看到类的结构,所以,我们形象的称之为:反射

       

 

 

 

posted @   gzs1024  阅读(20)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示