易截截图软件、单文件、免安装、纯绿色、仅160KB

Java反射机制 详解 基本功

一般而言,开发者社群说到动态语言,大致认同的一个定义是:“程序运行时,运行改变程序结构或变量类型,这种语言称为动态语言”。从这个观点看,perl,phthon,ruby是动态语言,C++,JAVA,C#不是动态语言。
 
在Java运行时环境中,对于任意一个类,能否知道这个类有哪些属性和方法?对于任意一个对象,能否调用它的任意一个方法? 答案是肯定的,这种动态获取类的信息以及动态调用对象的方法的功能来自于Java语言的反射(Reflection)机制。
Java反射机制主要提供了以下功能:
在运行时判断任意一个对象所属的类。
在运行时构造任意一个类的对象.
在运行时判断任意一个类所具有的成员变量和方法。
在运行时调用任意一个对象的方法。
reflection是Java被视为动态(或准动态)语言的一个关键性质,这个机制运行程序在运行时透过reflection apis取得任意一个已知名称的class的
内部信息,包括其modifiers(诸如public,static等等),superclass(例如Object),实现之Interface(例如serializable),也包括fields和methods的所有信息,并可于运行时改变fields内容或调用methods。
 
在JDK中,主要由以下类来实现Java反射机制,这些类都位于Java.lang.reflect包中
Class类:代表一个类
Field类: 代表类的成员变量(成员变量也称为类的属性)。
Method类: 代表类的方法。
Constructor类: 代表类都构造方法。
Array类: 提供了动态创建数组,以及访问数组的元素的静态方法
例程DumpMethods类演示了ReflectionAPI的基本作用,它读取命令行参数指定的类名,然后打印这个类所具有的方法信息。
public static void main(String args[]){
    Class<?> classType=Class.forName(args[0]);
    Method methods[]=classType.getDeclaredMethods();
    for(int i=0; i<method.length;i++)
    {
         System.out.println(methods[i].toString());
         }
}
 
例程ReflectTester类进一步演示了ReflectionAPI的基本使用方法。  ReflectTester类有一个copy(Object object)方法,这个方法能够创建一个和参数object同样类型的对象,然后把object对象中的所有属性拷贝到新建的对象中,并将它返回
 
这个例子只能复制简单的JavaBean,假定JavaBea


相关文档:

Oracle公布Java发展策略


甲骨文已经完成了对SUN公司的收购,于1月27日发布了对Sun各项业务的整合规划。总体上说,Oracle要成为软硬件一体化的整体解决方案的厂商。 以下就其对备受关注的Java方面的策略做个介绍。
 
Java SE:
1)推出JDK SE 7, 它将包括多个新的功能,如提高开发人员的效率,提供高性能,对多核芯片的支持等。
2)Sun的 ......

java中数据库的备份与还原

首先,设置mysql的环境变量(在path中添加%MYSQL_HOME%\bin),重启电脑。
完整代码:
    /**
     * @param args
     */
    public static void main(String[] args) {
        /*
  &nbs ......

关于用Java程序实现8421码权限管理 第二部分

这两天做完了以前,CRM项目中,设计权限这快的代码,仅供大家学习参考。
本权限管理部分设计三部分:
第一部分 数据库部分
第二部分 权限类
第三部分 分配权限部分
第四部分 页面控制部分
在这里我主要设计后三部分原码:
权限类设计原码:
package com.qizhi.common;
/**
 * 全局常量
 * 
&nbs ......

关于用Java程序实现8421码权限管理 第三部分

分配页面Role_Right.jsp原码:
<%@ page language="java" isELIgnored="false" pageEncoding="GBK" errorPage="/inc/exception.jsp"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
<head>
 <title>角色分配权限</title>
 <!--列表--& ......

java中可以实现一个线程的方法

有两种实现方法,分别是继承Thread类与实现Runnable接口
用synchronized关键字修饰同步方法
反对使用stop(),是因为它不安全。它会解除由线程获取的所有锁定,而且如果对象处于一种不连贯状态,那么其他线程能在那种状态下检查和修改它们。结果很难检查出真正的问题所在。suspend()方法容易发生死锁。调用suspend()的时候 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号