`
lanceverw
  • 浏览: 44842 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

反射简单实例

 
阅读更多

step1: 通过Class的静态方法forName获取某一个类,返回一个Class对象

Class cls = Class.forName("fanshe.Customer");

 

step2: 使用getConstructor方法获取类的构造函数
   * 此处getConstructor传入一个参数new Class[]{}
   * 若想获取无参构造函数就传入new Class[]{}
   * 若想获取带参数的构造函数就像下面给出的代码一样写,此处给出的代码传入的是两个String类型的参数,还是使用的Class.forName()来获取
   * 参数的写法需要注意

Constructor cons = cls.getConstructor(new Class[]{Class.forName("java.lang.String"), Class.forName("java.lang.String")});

 

step3:通过调用上一步获得的Constructor实例的newInstance()方法生成一个Object对象实例
   * 同样还是分为无参和有参两种情况:
   * 无参有两种方式:两种方式效果相同
   * 1---Object obj = con.newInstance();
   * 2---Object obj = con.newInstance(new Object[]{});
   * 有参的实例化方式:
   * Object obj = cons.newInstance(new Object[]{"111","222"});

Object obj = cons.newInstance(new Object[]{"111","222"});

 

step4:通过getMethod()方法获取类中的普通方法
   * 第一个String类型的参数指定需获取的普通方法的名称
   * 第二个参数指定此方法的参数,若没有传入参数则填入new Class[]{}*/

Method met = cls.getMethod("printInfo", new Class[]{});

 

step5:方法的调用
   *第一个Object类型的参数表示调用底层方法的对象
   *第二个参数用于方法调用的参数 */

met.invoke(obj, new Object[]{});

 

 

1
1
分享到:
评论

相关推荐

    Java反射简单例子

    下面我们将详细探讨Java反射的基本概念、使用场景以及如何通过`ReflectTest.java`这个简单的例子来理解反射。 ### 1. 反射的基本概念 反射机制允许我们在运行时检查类的信息,包括类名、方法名、参数类型等,并且...

    php 反射简单例子

    本文将深入探讨PHP反射的工作原理,并通过一个简单的例子来说明其用法。 1. PHP反射基础 反射API是PHP内建的一组类,它提供了对类、接口、函数、方法和常量等对象的元数据访问。这些类包括`\ReflectionClass`、`\...

    JAVA反射简单例子

    Java反射是Java编程语言中的一个强大特性,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性。在Spring框架中,反射扮演着核心角色,...希望这个简单的反射例子能帮助你更好地理解和运用Java反射。

    java反射简单例子demo

    这样可以方便地实例化类,即使构造函数是私有的: ```java try { Constructor<?> constructor = clazz.getConstructor(YourParameterType.class); Object instance = constructor.newInstance(parameterValue); }...

    简单的反射例子

    在探讨“简单的反射例子”这一主题时,我们深入解析了反射在C#中的应用,以及如何利用反射来访问和操作对象的属性。反射是.NET框架中的一个强大特性,它允许程序在运行时检查和调用类型的信息,包括类型、方法、属性...

    Java反射简单小实例

    在这个简单的`Admin`类中,我们定义了一个私有字符串字段`id`以及对应的getter和setter方法。`getId()`方法在打印`id`值之前会先输出这个值。 #### 使用反射调用方法 ```java public static void main(String[] ...

    java反射简单实例

    以下是对这个简单实例的详细解释: 首先,定义了一个名为`fruit`的接口,其中包含一个抽象方法`eat()`。然后,我们创建了两个实现这个接口的类:`Apple`和`orange`。这两个类都实现了`eat()`方法,分别输出“eat ...

    C#反射简单入门实例

    在.NET框架中,C#反射是一项强大的特性,它允许程序在运行时检查并操作类型的信息...通过以上介绍,你已经具备了使用C#反射进行简单操作的基础知识。在实际项目中,根据需求合理运用反射,可以解决许多动态编程的问题。

    C#中运用反射的简单例子

    一旦有了Type对象,就可以创建该类型的实例,如下所示: ```csharp Type myType = Type.GetType("MyNamespace.MyClass"); object myInstance = Activator.CreateInstance(myType); ``` 反射还能用于动态调用方法和...

    反射技术+简单工厂模式

    结合反射技术与简单工厂模式,我们可以在不预先知道具体类的情况下,利用反射动态地确定要实例化的类,然后通过工厂方法来创建对象。这种组合方式可以提高代码的灵活性,特别是在需要动态改变创建对象的逻辑时,例如...

    反射简单工厂

    在这个例子中,`ReflectionBasedFactory.createAnimal()`方法根据传入的动物类型字符串,使用反射动态地创建对应的`Animal`实现类实例。 **总结** 反射与简单工厂模式的结合为程序带来了更大的灵活性。它使得程序...

    java 反射实例,大量注释,简单易懂

    以下是对"java 反射实例,大量注释,简单易懂"这个主题的详细解释: 1. **反射基础**: - Java反射API主要由`java.lang.reflect`包提供,包括`Class`,`Constructor`,`Method`和`Field`等类。 - `Class`类代表...

    Java 8个反射实例

    以下将详细介绍Java反射的8个关键实例。 1. 获取Class对象 要使用反射,首先需要获取到目标类的Class对象。这可以通过以下几种方式实现: - 使用`Class.forName()`方法,如`Class<?> clazz = Class.forName("全...

    反射机制例子及反射方法调用

    在这个例子中,我们可以看到一个简单的反射机制示例,演示了如何通过字符串指定类名,并调用类的方法。首先,我们定义了一个名为WriteClassName的类,该类有一个静态方法printClassName,该方法打印出一条消息...

    枚举和简单反射

    以下是一个简单的反射示例: ```java Class<?> clazz = Class.forName("java.util.ArrayList"); Constructor<?> constructor = clazz.getConstructor(); Object instance = constructor.newInstance(); Method add...

    java反射实例代码

    例如,一个简单的反射实例可能包括以下步骤: - 加载类:`Class<?> clazz = Class.forName("com.example.MyClass");` - 获取构造器:`Constructor<?> constructor = clazz.getDeclaredConstructor(String.class);` -...

    反射实例-JAVA反射机制

    ### 反射实例—JAVA反射机制 #### 一、反射概念及原理 反射在计算机科学领域,特别是程序设计中,是指程序有能力访问、检测和修改其自身的结构和行为。这一概念最早由Smith于1982年提出,并迅速应用于各种编程语言...

    C# 反射经典实例,学习反射一步到位

    这个实例清晰地展示了C#反射的使用流程,包括加载程序集、获取类型信息、创建实例以及调用方法(包括实例方法和静态方法)。反射的应用场景广泛,例如在插件系统、配置驱动的代码执行、元数据操作以及动态代理等。...

    C++反射的例子(VC++).rar

    在这个“C++反射的例子(VC++)”压缩包中,我们可以预期找到一个简单的示例,演示如何在Visual C++环境下实现或模拟反射机制。 反射的主要应用包括:动态类型检查、运行时代码生成、自动序列化、插件系统以及更方便...

Global site tag (gtag.js) - Google Analytics