- 浏览: 1360982 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (453)
- Struts2 (4)
- Struts1 (16)
- Spring (9)
- Hibernate (5)
- AJAX (16)
- MS Server (9)
- Oracle (35)
- 测试技术 (5)
- 其他 (37)
- JSF (1)
- EJB (5)
- ASP.NET (9)
- iBATIS (5)
- Struts Spring Hibernate (2)
- HTML (12)
- Eclipse使用 (5)
- 设计模式 (5)
- JSP (32)
- 正则表达式 (2)
- 服务器 (12)
- Java基础 (48)
- MySQL (4)
- 面试 (22)
- UML (1)
- 数据结构 (3)
- Ant (2)
- 规范 (4)
- JavaScript (29)
- 软件使用及技巧 (25)
- PHP (1)
- DWR (3)
- FreeMarker (1)
- ExtJs (17)
- JFreeChart (9)
- Reports (2)
- JavaException (1)
- Java Mail (1)
- Flex (9)
- 异常 (12)
- Log4j (2)
- WebService (1)
- jQuery (1)
- Sybase (2)
- myeclipse_plugin (2)
- Linux (5)
- jbpm (2)
- SCM (1)
- mongoDB (1)
最新评论
-
lihua2008love:
<typeAlias alias="User& ...
IBATIS简单操作 -
lihua2008love:
...
关于项目框架设计的一点学习 -
c_jinglin:
我使用<OBJECT CLASSID="cls ...
这就是个静态页面通过js控制mscomm对某com设备进行访问的例子. -
zlbjava:
赞,用了还不错
java获取请求的ip地址,并解析ip所属地区 -
完美天龙:
cs842813290 写道楼主,我明白的地方:在链表已有N个 ...
JAVA实现双向链表
获得某个类的对应的Class对象的方式:
1、使用类的.class语法
2、通过类的对象的getClass()方法
3、通过Class的getSuperclass()方法
4、通过Class对象的forName()方法
5、对于包装类,可以通过.TYPE语法方式
例子:
java 代码
- package com.test;
- public class PrivateTest {
- private String name = "hello";
- public String getName()
- {
- return name;
- }
- }
java 代码
- package com.test;
- import java.lang.reflect.Field;
- //题目:将PrivateTest中的name变量的值改为"world"
- public class ReflectTest {
- public static void main(String[] args) throws SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException {
- PrivateTest pt = new PrivateTest();
- Class clazz = PrivateTest.class;
- //得到指定名字的域,用getDeclaredField函数可以得到所有的域,包括private类型的,而getField函数只能获得非private类型的
- Field field = clazz.getDeclaredField("name");
- //只有当设置成强制访问后,私有变量的值才会可以被设置
- field.setAccessible(true);
- field.set(pt, "world");
- System.out.println(pt.getName());//world
- }
- }
示例代码:运用Class的getSupperclass()方法获得Class object
java 代码
- package com.test;
- import java.awt.Button;
- /**
- * Class的getSuperclass()获得Class object示例
- * @author yahaitt
- *
- */
- public class Test {
- public static void main(String[] args) {
- Button b = new Button();
- Class<?> clazz_1 = b.getClass();
- Class<?> clazz_2 = clazz_1.getSuperclass();
- Class<?> clazz_3 = clazz_2.getSuperclass();
- Class<?> clazz_4 = clazz_3.getSuperclass();
- //System.out.println(clazz_1);相当于System.out.println(clazz_1.toString());
- System.out.println(clazz_1);
- System.out.println(clazz_2);
- System.out.println(clazz_3);
- System.out.println(clazz_4);
- }
- }
运行结果:
class java.awt.Button
class java.awt.Component
class java.lang.Object
null
发表评论
-
百度之星第一场题目
2009-06-01 08:55 1749百度之星2009程序设计大赛 初赛第一场试题 ... -
参数传递的过程
2008-07-02 23:37 1273在JAVA里面,对于方法的参数传递,不管是原生数据类型还是引用 ... -
String类要点
2008-07-02 23:36 14141、考查"=="的结果 2、String的 ... -
关于集合,你搞明白了吗?
2008-07-02 23:35 12881、当向集合set中增加 ... -
session与cookie的区别?
2008-07-02 23:34 1938session与cookie的区别? ... -
关于多线程
2008-07-02 23:33 1238题目:请编写一个多线程程序,实现两个线程,其中一个线程完成对某 ... -
迅雷面试部分题
2008-05-11 07:06 1887在做的时候,把部份觉 ... -
2007年8月25日华为的几个面试题
2008-05-08 02:30 15681、下题的输出是什么: /** * 问下题的输出结果是什么 ... -
联想面试智力题,听说前面三道题必考(有部份解答)
2008-05-08 02:08 3247联想面试智力题,所说前面三道题必考,这个没有被证实过。不过,当 ... -
JAVA面试题
2008-05-08 02:06 1753网上找到一些JAVA面试题,不过,不管是不是面试题,有些时候在 ... -
华为的JAVA面试题及答案(部分)
2008-05-08 01:58 5142(后记:没有想到华为 ... -
作一份高水准的简历
2008-05-08 01:55 1971简历种类 1.中式 如果 ... -
华为面试题及答案
2008-05-08 01:52 5215这是第三次接到华为的面试电话了,第一交是自己投的简历,第二次及 ... -
JAVA面试题集 (下)
2008-05-07 22:58 1579Servlet方面 1、说一说Servlet的生命周期? ... -
JAVA面试题集 (上)
2008-05-07 22:55 18271.C++或Java中的异常处理 ... -
Java 面试中的陷阱
2008-05-07 22:53 1341以下题目来自包括IBM, E* ... -
Java学习题
2008-05-07 22:52 1416据说,如果你能独立完成(不用看资料,不借助调试)回答在60分以 ... -
外企面试官最爱提的问题TOP10
2008-05-07 22:51 14611.请介绍一下你自己。 这是外企常问的问题。一般人回 ... -
70个JAVA问答!
2008-05-07 22:33 18471. 问:在JAVA与JSP中要调 ... -
java常见面试题
2008-05-07 22:28 16921.面向对象的特征有哪些方面 1.抽象: 抽象就是忽 ...
相关推荐
代码主要实现了Java反射应用实例, 包含利用反射方法创建对象(使用默认构造函数和自定义构造函数),访问对应对象的方法(包括带参数的和不带参数的),访问对应对象的域(Field). 从这里可以看到代码的详细解说:...
几个小demo,介绍了反射的几个api操作,最后写了一个简单的Java反射应用:工厂+反射+配置文件。
在向学生讲解Class.forName()方法的使用时,有时需要扩展讲解为什么这样书写的原理,于是,扩展讲解Java反射技术可以查看被监视类的方法(构造方法和普通方法)、公有属性的功能,以达到封闭功能的效果。该例子使用...
Java反射机制是Java语言提供的一种强大功能,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性。在Java中,反射机制的核心类是java.lang.Class,它代表了运行时的类信息。通过Class对象,我们...
JAVA反射机制应用 JAVA反射机制是JAVA语言中的一种动态机制,它能够在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法。这种动态获取的信息以及动态...
### Java反射机制应用详解 #### 一、Java反射机制简介 Java反射机制是Java语言提供的一种能在运行时分析类信息并动态操作对象的功能。通过反射,我们可以在程序运行期间获取类的信息(如类名、方法名等),创建...
Java反射是Java编程语言中的一个重要特性,它允许程序在运行时动态地获取类的信息并操作类的对象。在Java中,反射机制提供了强大的能力,包括在运行时检查类的结构、创建对象实例、调用方法以及访问和修改字段值。...
JAVA反射机制及应用例子.。。Reflection API
下面我们将深入探讨Java反射的基本概念、重要方法以及如何在实际应用中使用它。 1. **什么是反射?** 反射是指在运行时,程序可以获取类的信息(如类名、属性、方法等),并动态地创建对象和调用方法。这使得Java...
### Java反射性能测试分析 #### 引言 Java反射机制是Java编程语言中一个强大的特性,它允许程序在运行时动态地访问、检测和修改类、接口、字段和方法等对象。然而,反射操作通常会引入额外的开销,这在性能敏感的...
下面通过一个简单的示例展示如何使用Java反射机制: ```java import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.Method; public class ReflectionDemo { public ...
下面通过一个简单的示例来展示Java反射机制的工作流程: ```java import java.lang.reflect.*; public class DumpMethods { public static void main(String args[]) { try { Class c = Class.forName(args[0])...
Java反射广泛应用于框架开发、动态代理、测试工具等领域。例如,在Spring框架中,反射被用来动态创建对象和调用方法;在Hibernate等ORM框架中,反射用于处理数据库记录与Java对象之间的映射关系。 #### 三、反射...
本实例将深入探讨Java反射的应用及其重要性。 一、什么是Java反射 Java反射机制允许我们动态地获取类的信息,并在运行时创建和调用对象的方法。这种能力使得Java具有高度的灵活性和动态性,特别是在处理跨版本兼容...
Java反射机制是Java编程语言中的一个强大特性,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性。这个特性使得Java具有了高度的灵活性和动态性,尤其是在处理元数据、创建对象、调用私有方法...
Java反射是Java编程语言中的一个强大特性,它允许在运行时检查类、接口、字段和方法的信息,并且能够在运行时动态地创建对象和调用方法。这个特性使得Java具有了高度的灵活性,常用于框架开发、插件系统、元编程等...
Java反射机制是Java编程语言中的一个强大...通过以上介绍,我们了解了Java反射机制的基本概念、使用方法、应用场景以及需要注意的问题。在实际编程中,合理利用反射可以提高代码的灵活性,但同时也需注意其潜在的风险。
### Java的反射机制及其实际应用 #### 一、引言 ...总之,Java反射机制是一项强大的工具,它能够在运行时动态地获取和操作类的信息。然而,应该谨慎使用反射,避免滥用造成不必要的性能损失或安全风险。
在本文中,我们将深入探讨如何使用Java反射来获取并执行某个特定的方法。 首先,我们需要了解Java反射的基本概念。`java.lang.Class`类是反射的核心,它代表了Java中的每一个类。我们可以通过以下方式获取到一个...