如何动态添加字段和方法在一个Java类里面? 有的话有没有一个简单的例子可以参考?

因为我们的同一类型的业务数据会因为客户不同而不同,这部分数据包含了共同列和不同列,为了处理这些不同列,我们打算把他们都配置在XML里面,然后在Java程序运行时去读配置文... 因为我们的同一类型的业务数据会因为客户不同而不同, 这部分数据包含了共同列和不同列, 为了处理这些不同列, 我们打算把他们都配置在XML里面, 然后在Java程序运行时去读配置文件在去把这些不同的列放到Java Class中去.

我研究了下Cglib, 他是一种很好的实现动态改变基类的框架, 大部分用于实现AOP在Spring和Hibernate中. 但是Cglib好像并不能解决我的问题.

[java是静态语言,没办法实现]
展开
 我来答
杨柳依依雪纷飞
2012-12-13 · TA获得超过279个赞
知道小有建树答主
回答量:189
采纳率:0%
帮助的人:94万
展开全部
所学知识有限,我也是新手,但是据我所知是不能动态添加字段和方法的。
但是我们可以用继承,建立一个子类,用子类来扩展父类的字段,重写父类的方法,也可以添加子类特有的方法。
也可以用has-a的形式,用一个类包涵另一个类的形式,为原来的类增加功能方法和字段。
Hi_c
2012-12-13 · TA获得超过142个赞
知道小有建树答主
回答量:173
采纳率:0%
帮助的人:99.1万
展开全部
动态修改java源代码肯定是不行了,因为要重新编译;那么要想绕过这一步就必须直接对class文件动手了,那就是字节码工程了;你倒是不如把你的需求说出来,不必要动态修改程序本身的,程序本来就是设计用来实现动态处理数据的,基本上所有需求都可以程序本身实现,而不需要运行时让程序修改自己的行为~
追问
谢谢你的专业回答, 我的需求是这样的:

因为我们的同一类型的业务数据会因为客户不同而不同, 这部分数据包含了共同列和不同列, 为了处理这些不同列, 我们打算把他们都配置在XML里面, 然后在Java程序运行时去读配置文件在去把这些不同的列放到Java Class中去.

我研究了下Cglib, 他是一种很好的实现动态改变基类的框架, 大部分用于实现AOP在Spring和Hibernate中. 但是Cglib好像并不能解决我的问题.

你怎么看?
追答
楼下的推荐答案为正解,使用继承,将业务数据的共同部分抽取到父类中,不同客户的不同部分分别在子类中实现~
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
x369201170
2012-12-13 · TA获得超过426个赞
知道小有建树答主
回答量:570
采纳率:0%
帮助的人:364万
展开全部
这个没办法吧。如果你要在方法前使用某个方法话,你可以尝试着用代理模式。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wwmllp
2012-12-13 · 贡献了超过105个回答
知道答主
回答量:105
采纳率:0%
帮助的人:20.4万
展开全部
java不是动态语言,无法实现
追问
谢谢你的回答, 在问一个问题: 何为动态语言?何为静态语言?JavaScript就是动态的吧?JavaScript对象在任何时候都可以任意的添加properties和methods。
追答
python也是动态的 js也是
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式