发布于2026-07-07 阅读(0)
扫一扫,手机访问

Reflection 是 Ja va 程序开发语言的一个特殊特征——它允许运行中的 Ja va 程序对自身进行“自审”,并且能直接操作程序的内部属性。举个例子,通过它你可以轻松获取某个 Ja va 类中所有成员的名称,并把它显示出来。
说实话,这个能力在实际项目里用得可能不算多,但有意思的是,其他主流编程语言(比如 Pascal、C 或者 C++)压根就没有这种机制——你没法在程序运行中动态地获取函数定义信息。
Ja vaBean 就是 reflection 的一个典型实际应用,它让可视化工具能够动态地载入并操作 Ja va 组件的属性。这些工具通过反射机制,在运行时抓取组件的元数据,从而实现灵活配置。
先看一个很直白的例子,感受一下反射是如何工作的。
import ja va.lang.reflect.*;
public class DumpMethods {
public static void main(String args[]) {
try {
Class c = Class.forName(args[0]);
Method m[] = c.getDeclaredMethods();
for (int i = 0; i < m.length; i++)
System.out.println(m[i].toString());
} catch (Throwable e) {
System.err.println(e);
}
}
}
执行命令:
ja va DumpMethods ja va.util.Stack
输出结果如下:
public ja va.lang.Object ja va.util.Stack.push(ja va.lang.Object) public synchronized ja va.lang.Object ja va.util.Stack.pop() public synchronized ja va.lang.Object ja va.util.Stack.peek() public boolean ja va.util.Stack.empty() public synchronized int ja va.util.Stack.search(ja va.lang.Object)
可以看到,程序打印出了 ja va.util.Stack 类的所有方法名、修饰符和返回类型。背后的逻辑很简单:先用 Class.forName 加载指定的类,再调用 getDeclaredMethods 拿到该类中声明的所有方法列表。这里用到的 ja va.lang.reflect.Method 就是用来描述某个类中方法结构的关键类。
Intent
Define a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically.
How to
Subject knows its observers. Any number of Observer objects may observe a subject. provides an in ......
自己在做这个程序的时候看过很多的资料,上网也查了不少,可是多半说得玄之又玄、云里雾里……不光看不明白,有些原本懂的人,看了反而变得更迷糊了。
这里我演示一套完整的 Ja va JDBC 连接 Oracle9i 的范例:
package com.lxh.dbcon; // 打包 import ......
最近要重新学习 Ja va,找了个例子来实践。在网上找了很多例程,自己重新编写了一个贪食蛇的例子,记在这里。
import ja va.util.Observable; import ja va.util.LinkedList; import ja va.util.Arrays; import ja va.util.Random; import ja vax.swing.*; // Observable 类一般代表数据,实现接口 Runna ......
1、语法:必须比较熟悉,在写代码的时候 IDE 的编辑器对某一行报错应该能够根据报错信息知道是什么样的语法错误并且知道任何修正。
2、命令:必须熟悉 JDK 带的一些常用命令及其常用选项,命令至少需要熟悉:appletviewer、HtmlConverter、jar、ja va、ja vac、ja vadoc、ja vap、ja vaw、......
上一篇:【Java】Java的基本操作
下一篇:【Java】java的认识
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8