改写类的某个方法的问题

leafxt 2010-03-01 03:31:22
有一个lib有一类A,A有很多方法,其中一个方法是m().
lib里很多地方用到类A。

现在我想在不反编译的情况下重写A的m方法,并供lib中其他类使用。

现在有一个问题,我想继承A类并重写m方法。问题是lib里的其他地方都是用到A类,而不是我继承的类。

我应该怎样做?或者还有其他处理方法吗?
...全文
98 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zliuzz 2010-03-01
  • 打赏
  • 举报
回复
我觉得貌似。。。。戏不大。。。
truediego 2010-03-01
  • 打赏
  • 举报
回复
不管怎么样,好歹要反编译个A,然后做成一个package名和lib一样的A才行吧

不然,lib里面根本匹配不到你的A
dinghun8leech 2010-03-01
  • 打赏
  • 举报
回复
cglib能做到吗?
xiesisi3 2010-03-01
  • 打赏
  • 举报
回复
引用 5 楼 bearkin 的回复:
引用楼主 leafxt 的回复:有一个lib有一类A,A有很多方法,其中一个方法是m(). lib里很多地方用到类A。 现在我想在不反编译的情况下重写A的m方法,并供lib中其他类使用。 现在有一个问题,我想继承A类并重写m方法。问题是lib里的其他地方都是用到A类,而不是我继承的类。 我应该怎样做?或者还有其他处理方法吗?

他们都是直接使用的A类 所以直接调用A类的方法 你不直接改A类的话是不行的(哪怕他们是通过某个方法获得的A类对象呢 那也是有办法的哇..)



有道理,如果是获取的对象,可以通过传递子类的实例来做到。
xiesisi3 2010-03-01
  • 打赏
  • 举报
回复
引用 3 楼 luffysy 的回复:
多态也许能帮上点。。。


我认为很难……不改源码的情况下太难了。。只靠单加东西……
BearKin 2010-03-01
  • 打赏
  • 举报
回复
引用楼主 leafxt 的回复:
有一个lib有一类A,A有很多方法,其中一个方法是m().
lib里很多地方用到类A。

现在我想在不反编译的情况下重写A的m方法,并供lib中其他类使用。

现在有一个问题,我想继承A类并重写m方法。问题是lib里的其他地方都是用到A类,而不是我继承的类。

我应该怎样做?或者还有其他处理方法吗?


他们都是直接使用的A类 所以直接调用A类的方法 你不直接改A类的话是不行的(哪怕他们是通过某个方法获得的A类对象呢 那也是有办法的哇..)
xiesisi3 2010-03-01
  • 打赏
  • 举报
回复
引用 2 楼 gardner2010 的回复:
直接改类A的m方法不行吗?
就你的需求怎么感觉能用上设计模式呢


人家不想反编译。。也就是手中只有.class没有.java
LuffySY 2010-03-01
  • 打赏
  • 举报
回复
多态也许能帮上点。。。
小贝壳666 2010-03-01
  • 打赏
  • 举报
回复
直接改类A的m方法不行吗?
就你的需求怎么感觉能用上设计模式呢
xiesisi3 2010-03-01
  • 打赏
  • 举报
回复
这个…………
“lib里有很多地方用到类A”
为什么当初不把A设计成接口呢。。
现在都这样了……我不知道该怎么做,看有没有达人来帮你。。。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧