`

java 反射实例demo1

    博客分类:
  • J2SE
阅读更多

package com.reflection.demos;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
public class Admin {
public Admin(){
 
}
private String id="";
public String getId() {
 return id;
}
public void setId(String id) {
 this.id = id;
}
public static void main(String[] args) throws ClassNotFoundException, InstantiationException,
IllegalAccessException, SecurityException, NoSuchMethodException,
IllegalArgumentException, InvocationTargetException{
 String str="com.reflection.demos.Admin";//指定类所在的路径
 Class c=Class.forName(str);//Class类的实例表示java应用程序运行时中的类和接口,是java中充当MetaData的描述类
 Object obj=c.newInstance();//创建此Class类实例化对象
 /*//获得指定的方法,传入方法实参打印出来。这里没有直接声明Admin类也没有实例化类,利用顶层的Class
   //及Method类实现了 运行时,根据传来的字符串动态实例化具体对象并可以调用对象的所有方法及属性。实现了反射*/
 Method m=c.getMethod("setId",new Class[]{Class.forName("java.lang.String")});
 /*//Class类描述了各种数据类型的描述,每种数据类型通过forName()
 //方法传入字符串(类的命名空间)找到具体哪个数据类型的元数据描述类*/
 m.invoke(obj, new Object[]{"zhaiyuehahah"});//前一个obj参数表示 顶层的Object参数,后一个{}中的参数表示实际传入的参数。
 m=c.getMethod("getId",new Class[]{});
 System.out.println(m.invoke(obj, new Object[]{}));
}
}

分享到:
评论

相关推荐

    java反射的demo代码

    Java反射是Java编程语言中的一个强大特性,它允许我们在运行时检查类、接口、字段和方法的信息,并且能够在运行时动态地创建对象和调用方法。这个特性在处理不确定类型、插件系统、序列化、元数据处理以及许多其他...

    Java反射演示Demo

    这个“Java反射演示Demo”是一个实例,展示了如何利用Java反射API进行各种操作。下面我们将深入探讨Java反射的核心概念及其在实际开发中的应用。 首先,我们需要了解什么是Java反射。在Java中,当我们编译一个程序...

    Java反射机制Demo

    ### Java反射机制详解 #### 一、什么是Java反射机制? Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的...

    java反射简单例子demo

    Java反射是Java编程语言中的一个强大特性,它允许运行时检查类、接口、字段和方法的信息,甚至可以动态地创建对象并调用其方法。在Java中,`java.lang.reflect`包提供了对反射的支持,包括`Class`、`Constructor`、`...

    java反射Demo

    Java反射是Java编程语言中的一个强大特性,它允许在运行时检查类、接口、字段和方法的信息,并且能够在运行时动态地创建对象和调用方法。这个特性在处理现实业务问题时尤其有用,例如实现插件化、元编程、动态代理等...

    Java反射demo

    这个“Java反射demo”很可能是包含了一些示例代码,用于演示如何在实际开发中应用反射技术。以下是关于Java反射的详细知识点: 1. **什么是反射**: Java反射机制是在运行状态中,对于任意一个类,都能够知道这个...

    Java方法反射调用demo

    Java反射是Java编程语言中的一个强大特性,它允许在运行时检查类、接口、字段和方法的信息,并且能够在运行时动态地创建对象和调用方法。这个特性使得Java具有了高度的灵活性,常用于框架开发、插件系统、元编程等...

    java反射demo

    1. **类加载**:Java反射的起点通常是通过`Class`类的`forName()`方法加载指定类。例如,`Class<?> clazz = Class.forName("com.example.MyClass");`这行代码会尝试加载名为“com.example.MyClass”的类。 2. **类...

    java反射技术Demo

    Java反射技术是Java编程语言中的一个强大工具,它允许程序在运行时检查和操作类、接口、字段和方法的信息,甚至能够动态调用方法和创建对象。这个技术的核心在于`java.lang.reflect`包中的类,如`Class`、`...

    注解+ 反射实例demo

    在Java编程语言中,注解(Annotation)和反射(Reflection)是两个强大的特性,它们极大地扩展了代码的可读性和动态性。注解是一种元数据,可以为编译器、工具或运行时系统提供信息,而反射则允许程序在运行时检查类...

    Java动态代理和Java反射的Demo演示

    接下来,我们讨论Java反射。反射是Java的一项强大的功能,它允许我们在运行时检查类、接口、字段和方法的信息,甚至可以在运行时创建和操作类的对象。`java.lang.Class`类是反射的核心,我们可以使用`Class.forName...

    java 通过反射获取枚举类,及枚举类的值,枚举类枚举实例名

    1. **获取枚举类**:要通过反射获取枚举类,首先需要得到其Class对象。这可以通过`Class.forName()`方法完成,提供枚举类的全限定名作为参数。 ```java Class<Color> colorClass = (Class) Class.forName(...

    Java的反射demo示例

    这个"Java的反射demo示例"很可能是包含了一些关于如何使用反射进行编程的代码实例。 反射的核心功能包括以下几点: 1. **获取类信息**:通过Class对象,我们可以获取到类的完整名称、类的属性、方法和构造器等信息...

    Java反射机制测试Demo

    Java反射机制是Java编程语言中的一个重要特性,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性。在Java中,反射机制的核心类包括`Class`、`Field`、`Method`和`Constructor`等,它们分别代表...

    java反射深入剖析(推荐)

    Java反射是Java语言提供的一种强大的机制,它允许我们在运行时检查和操作类、接口、字段和方法等。本文将深入剖析Java反射的概念及其在实际开发中的应用。 首先,我们需要了解,反射的核心在于`java.lang.Class`类...

    自己实现ioc实例demo

    在这个“自己实现ioc实例demo”中,我们将探讨如何通过XPath解析XML文件来实现这一功能。 首先,让我们了解什么是依赖注入。在传统的编程中,一个类通常会自行创建它需要的对象,这导致了类与对象的紧密耦合。而在...

    Demo.rar_DEMO_java 反射

    通过这个Demo,你可以了解到Java反射的基本用法,并能够将这些知识应用到实际项目中去。反射虽然强大,但需要注意其性能开销和安全风险,因此在使用时需谨慎。在设计程序时,除非必要,否则应尽量避免过度依赖反射。

    MapStruct Java实例Demo

    在给定的“MapStruct Java实例Demo”中,我们可以看到如何在Java项目中集成和使用MapStruct。以下是一些关键的知识点: 1. **引入依赖**:首先,我们需要在项目的构建配置文件(如Maven的pom.xml或Gradle的build....

    java动态代理demo

    Java动态代理基于Java反射机制,可以在运行时动态地创建代理类和代理对象。与静态代理(即手动编写代理类)相比,动态代理无需预先为每个接口编写单独的代理类,使得代码更加灵活且易于维护。 2. **代理接口** 在...

    java反射.ppt

    Java反射是Java编程语言的一个重要特性,它允许在运行时检查和操作类、接口、字段和方法等对象。反射提供了一种动态访问和修改程序的能力,使得代码可以在不知道具体类的情况下,对对象进行操作。 1. **Class类的...

Global site tag (gtag.js) - Google Analytics