java.lang.reflect包
Constructor、Field、Method的父类是AccessibleObject;
一、获得Class对象
Class<?> c = Class.forName("classname"); 抛出ClassNotFoundException
二、获得实现接口
Class<?> inters[] = c.getInterfaces();
for(int i=0;i<inters.length;i++){
System.out.print(inters[i].getName()+" "); //getName()方法为取得接口名称;
}
三、获得父类
Class<?> superClass = c.getSuperclass(); //获得父类
String name = superClass.getName(); //获得父类名称
四、取得构造方法
Constructor cons[] = c.getConstructors();//获得公开的构造方法
Constructor dcons[] = c.getDeclaredConstructors();//获得全部构造方法
String modifier = Modifier.toString(cons[i].getModifiers()); //获得访问权限
String name = cons[i].getName();//获得构造方法名称
Class<?> params[] = cons[i].getParameterTypes();//获得参数类型对象
五、获得Method
Method ms[] = c.getMethods();//返回公共的全部方法,包括继承方法
Method dms[] = c.getDeclaredMethods();//返回本类全部方法,不包括继承的方法
Class<?> rt = ms[i].getReturnType();
Class<?>params[] = ms[i].getParameterTypes();
String name = ms[i].getName();
String modifier = Modifier.toString(ms[i].getModifiers());
Class<?>ex[] = ms[i].getExceptionTypes();//获得异常
String name = ex[i].getName();//获得异常名称
六、获得Field
Field fs[] = c.getFields();//获得公共属性,包括继承属性
Field dfs[] = c.getDeclaredFields();// 获得本类全部属性
Class<?> type = fs[i].getType();//获得属性的类型对象
String name = fs[i].getName();//获得属性的名称
String modifier = Modifier.toString(fs[i].getModifiers());
七、通过反射创建一个对象
Class<?> c = Class.forName("Person");
Person p = (Person)c.newInstance();
八、Constructor创建对象
Class c = Class.forName("Person");
Constructor<?> cons[] = c.getConstructors();
Person p = (Person)cons[0].newInstance("xiazdong",15);
分享到:
相关推荐
### Java反射机制总结 #### 反射的概念与起源 反射的概念最早由Smith于1982年提出,指的是程序能够访问、检测并修改其自身状态或行为的能力。这一概念的提出迅速引起了计算机科学领域的广泛关注,并在之后的研究中...
Java反射是Java编程语言中的一个强大特性,它允许在运行时检查类、接口、字段和方法的信息,并且能够在运行时动态地创建对象和调用方法。这个特性使得Java具有高度的灵活性,尤其在处理框架、插件系统以及元数据驱动...
### Java反射机制详解 #### 一、反射的基本概念与历史背景 反射的概念最早由Smith在1982年提出,其核心思想是程序有能力访问、检测甚至修改自身的状态和行为。这种能力一经提出,迅速成为了计算机科学领域的研究...
Java反射是Java编程语言中的一个强大特性,它允许在运行时检查类、接口、字段和方法的信息,并且能够在运行时动态地创建对象和调用方法...通过研究和实践这些代码,你可以更好地掌握Java反射的精髓,提升你的编程技能。
### JAVA反射机制详解 #### 一、JAVA反射机制概述 **反射**是在1982年由Smith首次提出的概念,指的是程序有能力访问、检测并修改其自身的状态或行为。这一概念一经提出,便迅速引起了计算机科学领域的关注,并在多...
Java反射机制是Java编程语言中的一个强大特性,它允许程序在运行时检查和操作类、接口、对象等的内部信息。这一机制对于理解和实现高级框架、动态代理、元数据处理等场景至关重要。以下是对Java反射机制的详细说明:...
Java反射机制深入研究,什么是Java的反射,Java反射的原理是什么
Java反射机制允许运行中的程序检查自身,并能直接操作程序的内部属性。这是其他许多编程语言(如Pascal、C或C++)不具备的能力。 **1.1 Reflection的工作机制** 为了展示反射如何工作,我们来看一个简单的例子: ...
接着,我们来看Java反射机制。反射允许程序在运行时检查类、接口、字段和方法的信息,甚至可以动态调用方法和访问字段。在JDBC封装中,反射非常有用,因为它允许在运行时创建和执行SQL语句,而不必在代码中硬编码...
Java 反射驱动的规则引擎技术研究 Java 反射驱动的规则引擎技术研究是基于规则引擎技术的发展,旨在解决当前大部分规则引擎在实时性上的不足。该技术利用 Java 反射机制实现规则执行引擎,可以在运行过程中动态加载...
由于Java反射机制允许程序在运行时构造和访问任何类的属性和方法,它为Reflect-ORM框架提供了实现的理论基础。通过反射,框架可以动态地读取对象的属性信息,将这些信息转换为数据库的表结构,以及将数据库查询结果...
Android平台与Web服务数据交互时运用Java反射机制解析数据的研究 本文研究了Android平台与Web服务数据交互时运用Java反射机制解析数据的技术。Java反射机制是一种在运行状态中动态获取类的信息以及动态调用对象方法...
### Java反射机制的研究 #### 反射机制简介 Java反射机制是Java语言提供的一种能够使程序在运行时访问自身信息并进行操作的功能。通过反射,Java程序可以动态地获取类的信息(如方法、属性等)并对其进行操作。...
本篇文章将深入探讨通用Java反射型漏洞检测模型的研究,旨在提高Java应用程序的安全性。 首先,我们需要理解Java反射的工作原理。在Java中,`java.lang.reflect`包提供了对类、接口、构造器和方法等对象的反射访问...
这一概念的提出很快引发了计算机科学领域关于应用反射性的研究。它首先被程序语言的设计领域所采用,并在Lisp和面向对象方面取得了成绩。其中LEAD/LEAD++ 、OpenC++ 、MetaXa和OpenJava等就是基于反射机制的语言。...
1. **Java反射基础** - **Class对象**:每个类在Java运行时都有一个对应的Class对象,可以通过`Class.forName()`或对象的`getClass()`方法获取。 - **构造器**:通过`Class.newInstance()`或`Constructor.new...
Java反射技术浅谈 Java作为一种广泛使用的编程语言,它的设计目标之一是提供一种灵活的编程方式,使程序能够在运行时识别和操作对象。为了实现这一目标,Java语言引入了反射机制,使得开发者能够动态地探索和操作...
Java反射是Java编程语言中的一个强大工具,它允许程序在运行时检查并操作类、接口、字段和方法的信息。在Java中,反射是通过java.lang.reflect包提供的类...请仔细研究每个示例,它们将帮助你深入理解Java反射的精髓。
Java反射是Java编程语言中的一个强大特性,它允许运行中的程序动态地获取类的信息并操作类的对象。在Java中,反射主要涉及到`java.lang.Class`类、`java.lang.reflect`包中的类,如`Constructor`、`Method`和`Field`...