反射机制简单实例
来源:互联网 发布:知乎 zun的地位 编辑:程序博客网 时间:2024/05/16 14:06
Java反射机制的一个简单实例
2007-05-14 17:25:03| 分类:JAVA技术 |字号 订阅
运用JavaBean 的最常见的问题是:根据指定的类名,类字段名和所对应的数据,得到该类的实例,下面的一个例子演示了这一实现。
--|Base.java //抽象基类
|Son1.java //基类扩展1
|Son2.java //基类扩展2
|Util.java
1)Base.java 抽象基类只是一个定义
package com.java.reflect;
publicabstractclass Base {
}
2)Son1.java /Son2.java 是已经实现的JavaBean
package com.java.reflect;public class Son1 extends Base {
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void son1Method(String s)
{
System.out.println(s);
}
}
3)Son2.java
package com.java.reflect;
public class Son2 extends Base {
private int id;
private double salary;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
}
3)TestReflect.java演示了如何根据指定的类名,类字段名和所对应的数据,得到一个类的实例
package com.java.reflect;
imp
public class TestReflect {
//此方法的最大好处是没有类名Son1,Son2 可以通过参数来指定,程序里面根本不用出现Son1,Son2
public static Base getBean(String beanName,String fieldSetter,String paraValue)
{
Base base = null;
try
{
Class cls = Class.forName(beanName);
base = (Base)cls.newInstance();
Class[] paraTypes = new Class[]{String.class};
Method method = cls.getMethod(fieldSetter, paraTypes);
String[] paraValues = new String[]{paraValue};
method.invoke(base, paraValues);
}
catch(Throwable e)
{
System.err.println(e);
}
return base;
}
/**
* @param args
*/
public static void main(String[] args) {
Son1 son1 = (Son1)TestReflect.getBean("com.java.reflect.Son1", "setName", "I am Nina!");
System.out.println("son1.getName():"+son1.getName());
}
}
//调用结果:
//son1.getName() :I am Nina!
Java反射 getFields()和getDeclaredFields()的区别
getFields()获得某个类的所有的公共(public)的字段,包括父类。 getDeclaredFields()获得某个类的所有申明的字段,即包括public、private和proteced,但是不包括父类的申明字段。 同样类似的还有getConstructors()和getDeclaredConstructors(),getMethods()和getDeclaredMethods()。
- 反射机制简单实例
- java反射机制简单实例
- java 反射机制(一)简单实例
- Java反射机制简介及简单实例
- Java反射机制简析(简单实例)
- Java 反射机制 的超简单实例分析
- JAVA反射机制的简单实例和说明
- .net反射机制实例
- java反射机制实例
- java 反射机制实例。
- java反射机制,实例
- 反射机制--练习实例
- java反射机制实例
- java反射机制实例
- 简单的反射机制
- 反射机制简单解析
- 简单反射机制
- 反射简单实例
- 北京小升初混战:有家长给孩子报7个奥数班
- c3p0详细配置
- CentOS下Nginx安装
- Linux下安装Apache 2.4
- HID连接过程-失败的例子
- 反射机制简单实例
- 使用WMI Filter 实现组策略的筛选!~
- javaScript做form表单验证及特效
- CSS基础整理
- 找出两个字符串中最大的公共子字符串
- Codeforces Round #122 (Div. 2)
- LBS进军移动互联网的利器之GIS
- weblogic小结
- $(window).load(function() {})和$(document).ready(function(){})的区别