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

JAVA 反射机制

   您查询的关键词是:newinstance object initargs  。如果打开速度慢,可以尝试快速版;如果想保存快照,可以添加到搜藏。
(百度和网页http://bbs.iaiai.com/forum/read.php?tid=2690的作者无关,不对其内容负责。百度快照谨为网络故障时之索引,不代表被搜索网站的即时页面。)
 主题 : java的反射机制  使用道具┊ 复制链接 ┊浏览器收藏┊打印
java的反射机制
java的反射机制一
在java里面有一种反射机制reflect,这是其它语言所没有的,可以动态创建对象和方法,还有成员变量等:
一.对象动态创建的方法如下:
我们需要使用的有Class类和Constructor类,还有Method和Field类,具体的使用方法如下:
1.使用Class类的Class.forName(String className)方法得到一个Class对象,
eg: Class aClass=Class.forName(Foo.class.getName());
或者 Class aClass=Class.forName("Foo");
2.得到一个Class对象之后,我们还需要把它转换成我们需要的类型对象,
eg: Foo foo=(Foo)aClass.newInstance();
注意此地方的newInstance()方法只能调用Foo类的公有无参构造函数,如果没有构造函数
则使用父类的公有无参构造函数,如果被重写了,则会创建对象失败。
3.得到了对象之后我们就可以任意摆布她了。
4.如果我们的构造函数里面需要传入参数,怎么办?
这时候我们就需要使用Constructor类了,创建方法如下:
eg: Constructor ctor = aClass.getDeclaredConstructor(Class[] parameterTypes);
如果我们有这样一个类需要动态创建对象:
public class BB {
private int baby = 9;
public BB(int b) {
baby = b;
}
/**
* @return Returns the baby.
*/
public int getBaby() {
return baby;
}
/**
* @param baby
* The baby to set.
*/
public void setBaby(int baby) {
this.baby = baby;
}
}
那么我们如何来做呢?
Integer[] os = new Integer[1];
os[0] = new Integer(6);
Class cls = Class.forName(BB.class.getName());
Constructor ctor = cls.getDeclaredConstructor((new Class[] { int.class }));
BB bbb = (BB) ctor.newInstance(os);
System.out.println(bbb.getBaby());
二.方法的动态创建:
假设上面的BB类需要动态创建getBaby()方法,我们该怎么做?这时候我们需要使用到
Method类了:
1.定义一个方法m:
eg: Class cls = Cla


相关文档:

在java中用数据库连接池连接数据库

好多大型的企业项目都要用到高级JDBC连接数据库配置高级JDBC实例如下:
第一:配置Tomcat下的conf文件夹下的context.xml文件
<?xml version='1.0' encoding='utf-8'?>
<Context>
 <Resource name="jdbc/名称" auth="Container" type="javax.sql.DataSource"
  maxActive="10" maxIdle=" ......

JAVA基础篇(二)

       
       本篇内容承接上篇之后,属JAVA基础知识之数据类型,所以更倾向于JAVA语言本身,适合初学和复习的朋友阅读。
一。数据类型
        1.基本数据类型
      &nb ......

Java EL系列 2.JUEL快速入门

  inkfish翻译,请勿商业性质转载,转载请注明来源(http://blog.csdn.net/inkfish
)。本文是我学习JUEL同时,对原网站进行的简单的翻译,原网站地址:http://juel.sourceforge.net/guide/start.html

快速入门
  JUEL
发行版包含下面一些jar文件:(来源:http://blog.csdn.net/inkfish)
  1.juel-api-2.2 ......

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

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

Java在不同环境下获取当前路径的方法

Java在不同环境下获取当前路径的方法
关键字: java在不同环境下获取当前路径的方法
1. 在Servlet\Filter等Servlet web环境中,只要获得javax.servlet.ServletContext类型,则可以通过 getRealPath("...") 获得路径。相对路径中最顶层目录可通过参数“"/"”获取。
request.getSession().getServletContext() ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号