问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java反射机制

发布网友 发布时间:2022-05-29 09:33

我来回答

1个回答

热心网友 时间:2023-10-14 13:03

Java 的反射机制是使其具有动态特性的非常关键的一种机制,也是在JavaBean 中广泛应用的一种特性。
运用JavaBean 的最常见的问题是:根据指定的类名,类字段名和所对应的数据,得到该类的实例,下面的一个例子演示了这一实现。
-|Base.java //抽象基类
|Son1.java //基类扩展1
|Son2.java //基类扩展2
|Util.java
/**
* @author metaphy
* create 2005-4-14 9:06:56
* 说明:
*/
(1)Base.java 抽象基类只是一个定义
public abstract class Base {
}
(2)Son1.java /Son2.java 是已经实现的JavaBean
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)
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;
}
}
(4)Util.java 演示了如何根据指定的类名,类字段名和所对应的数据,得到一个类的实例
import java.lang.reflect.Method;
public class Util {
//此方法的最大好处是没有类名Son1,Son2 可以通过参数来指定,程序里面根本不用出现
public static Base convertStr2ServiceBean(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 ;
}

public static void main(String[] args){
Son1 son1 =(Son1) Util.convertStr2ServiceBean("trying.reflect.Son1","setName","wang da sha");
System.out.println("son1.getName() :"+son1.getName()) ;
}
}
//调用结果:
//son1.getName() :wang da sha
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
月经不尽褐色的是怎么回事 月经前后有褐色分泌物是什么原因 二十四节气的重要意义24节气在生活中的作用 你来我往,猜一个数字? 姓谭女孩起什么名字最优雅 男孩姓谭的好名字 黄家驹在beyond的地位 黄家驹是Beyond的主唱吗? 老板对员工的新年微信 每次感冒和一些小毛病,我都是选择运动出身汗,让它自然好,请问这种方 ... java 反射机制 无锡环特电子元器件有限公司怎么样? 在哪可以采购一些电子元件? 关于马士兵java视频里面反射机制的问题。。。 江苏西欧电子有限公司怎么样? 省考去年分数线是多少? 江苏电子元器件厂家多吗 求马士兵的JAVA反射机制的视频 电子元器件哪个平台比较好啊?求推荐 江苏哪个地方适合销售电子元器件这块? 江苏有哪些好点生产电子元器件的。 求马士兵的 java反射机制的视频下载 欧时电子元件(上海)有限公司怎么样? 哪个跑步机健身效果好? 亿健跑步机健身效果好不好? 18款宝来传奇手动挡1挡2挡挂不上啥原因 18年宝来1.5正时记号怎么对 夫妻店什么项目可以做? 第三次超级机器人大战α金手指如何在PCSX2上使用 现在想开个夫妻小店,开什么好呢,求大家给个意见 “住嘴”,“收声”“安静”“食不言,寝不语”英文各怎么说? 英语翻译,食不言寝不语。 食不言,寝不语 英文怎么讲 食不语,寝不言。......席不正,不坐。(翻译) 请翻译我国古语:“食不言寝不语”“听其言观其行”“不敢高声语,恐惊天上人 食不言 寝不语啥意思? “食不言,寝不语”这句话用韩语怎么翻译,最好是要对称 按位运算 离婚是对还是错 选择离婚是一种错误么? 想问下我离婚正确吗? 我很想离婚有错吗 这个抠图的软件是什么 离婚到底是男人的错还是女人的错? 停车大师的Flash游戏 停车大师小游戏,不好找啊!不好找!,不找了,谁告诉我哪里可以玩的到呐? 和老公感情很好,但是因为钱的问题老吵架,现在想选择离婚时对还是错? 现在的生活不是我想要的,所以我想离婚,有错吗? 我想离婚,不知道对不对? 离婚这个选择对吗?