Java关于反射的理解

这篇具有很好参考价值的文章主要介绍了Java关于反射的理解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

关于反射的理解

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

框架 = 反射 + 注解 + 设计模式。

3.体会反射机制的“动态性”

//体会反射的动态性
@Test
public void test2(){

    for(int i = 0;i < 100;i++){
        int num = new Random().nextInt(3);//0,1,2 随机数 运行时确定
        String classPath = "";
        switch(num){
            case 0:
                classPath = "java.util.Date";
                break;
            case 1:
                classPath = "java.lang.Object";
                break;
            case 2:
                classPath = "com.atguigu.java.Person";
                break;
        }

        try {
            Object obj = getInstance(classPath);
            System.out.println(obj);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}

/*
创建一个指定类的对象。
classPath:指定类的全类名
 */
public Object getInstance(String classPath) throws Exception {
   Class clazz =  Class.forName(classPath);
   return clazz.newInstance();
}

4.反射机制能提供的功能

➢在运行时判断任意–个对象所属的类
➢在运行时构造任意-一个类的对象
➢在运行时判断任意–个类所具有的成员变量和方法
➢在运行时获取泛型信息.
➢在运行时调用任意-一个对象的成员变量和方法
➢在运行时处理注解
➢生成动态代理

5.相关API

java.lang.Class:反射的源头
java.lang.reflect.Method
java.lang.reflect.Field
java.lang.reflect.Constructor

Java关于反射的理解
Java关于反射的理解文章来源地址https://www.toymoban.com/news/detail-495731.html

到了这里,关于Java关于反射的理解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • c#反射(Reflection)

    当我们在C#中使用反射时,可以动态地获取和操作程序集、类型和成员。下面是一个简单的C#反射示例,展示了如何使用反射来调用一个类的方法: 在这个示例中,我们首先获取了MyClass的类型,并使用Activator.CreateInstance创建了一个MyClass的实例。然后,我们使用GetMethod方法获取

    2024年02月10日
    浏览(40)
  • 【.NET Core】反射(Reflection)详解(三)

    反射提供了对已封装的程序集、模型和类型的对象一种动态访问方法。反射包含动态加载程序集的Assembly类、程序集中模块访问的Module类、对类信息Type类、构造函数信息ConstructorInfo类、方法信息MethodInfo类、字段信息FieldInfo类、事件信息EventInfo类、属性信息PropertyInfo类、参数信

    2024年02月03日
    浏览(31)
  • C#中的反射(Reflection)使用经典案例

    C#中的反射(Reflection)是.NET框架提供的一种强大的运行时元编程机制,它允许程序在运行时获取类型信息、创建对象实例、调用方法、访问字段和属性等,而这些操作在编译时可能是未知的。以下是几个使用反射的典型场景: 1. 动态加载和调用类的方法 假设有一个库包含多

    2024年02月02日
    浏览(43)
  • [Unity/URP学习]反射探针(Reflection Probe)

    传统上,游戏使用一种称为_反射贴图_的技术来模拟来自对象的反射,同时将处理开销保持在可接受的水平。此技术假定场景中的所有反射对象都可以“看到”(因此会反射)完全相同的周围环境。如果游戏的主角(比如闪亮的汽车)处于开放空间中,此技术将非常有效,但

    2023年04月09日
    浏览(35)
  • unity在使用Reflection Probe(反射探头)bake(烘焙)时,无法反射出范围內的物体。

    bake后发现反射探头还是原来的样子,解决办法以下: 打开lighting设置,观察最下面是否为图中这样   如果是,则点击旁边的cancel即可解决问题。     

    2024年02月12日
    浏览(35)
  • 【Java基础】深入理解反射、反射的应用(工厂模式、代理模式)

    Java 反射机制是指在 运行时动态地获取和操作类的信息、调用对象的方法和访问对象的属性的能力 。通过反射,可以在程序运行时分析和修改类的结构、行为和状态。 Java 反射机制提供了以下功能: 获取类的信息:可以获取类的名称、修饰符、父类、实现的接口等。 创建对

    2024年02月09日
    浏览(56)
  • java关于反射相关面试题开胃菜

    Java中的反射机制及其用途? Java中的反射机制允许程序在运行时检查和修改类、接口、字段和方法的结构和行为。它是通过Java.lang.reflect包和它的子包来实现的。 反射机制的主要用途包括: 动态加载类:反射机制可以在运行时动态加载类,而不需要在编译时知道要加载的类的

    2024年02月07日
    浏览(29)
  • 关于Java注解的一些理解 小结

    目录 1. 常用注解和理解 2. 自定义注解 2.1 案例背景 2.2 设计思路 3 总结 注解在我的理解下,就是代码中的特殊标记,这些标记可以在 编译、类加载、运行时 被读取,并执行相对应的处理。 可能有些抽象,简单来说注解其实在开发中是非常常见的,比如我们在使用各种框架时

    2023年04月23日
    浏览(42)
  • Java进阶(4)——结合类加载JVM的过程理解创建对象的几种方式:new,反射Class,克隆clone(拷贝),序列化反序列化

    1.类什么时候被加载到JVM中,new,Class.forName: Class.forName(“包名.类名”); 2.创建对象的方式,反射,本质是获得类的类对象Class; 3.克隆clone,深拷贝,浅拷贝的对比; 4.序列化和反序列化的方式; Hello h; // 此时没有用Hello,jvm并没有进行类加载 看到new : new Book() Class.forName:

    2024年02月12日
    浏览(42)
  • java关于深拷贝和浅拷贝的理解

    一、什么是拷贝 拷贝指的就是将一个对象的所有属性(成员属性)拷贝到一个有着相同类型的对象中去 Java中的数据类型分为基本数据类型和引用数据类型,对于这两种数据类型,在进行赋值、用作方法参数、返回值的时候,会有值传递和地址传递的区别。 二、概要 1.浅拷贝

    2024年02月08日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包