参考here https://stackoverflow.com/questions/1385895/accesing-a-function-via-string-stored-in-hashtable
A是预编译的Java类(我也有源文件)
B 是我正在编写的 Java 类
B 延伸 A。
如何实现逻辑使得 A 可以调用 B 拥有的方法。
以下是条件:
- 我不想碰A(只是作为
最后一个选择是如果没有
存在其他解决方案)。
- 我不想使用反射。
如前所述,如果需要我可以修改 A。
无论哪种方式,可能的解决方案是什么?
Class A
应该定义它要调用的方法(可能是抽象方法,并且 A 应该是一个抽象类,根据 Paul Haahr 的优秀guide http://192.220.96.201/essays/java-style/structure.html); B
可以(事实上,如果方法是抽象的,那么具体必须)覆盖这些方法。现在,从其他方法调用这些方法A
,当发生在类 B 的实例中时,转到 B 的覆盖。
总体设计模式称为模板法 http://en.wikipedia.org/wiki/Template_method_pattern;要重写的方法通常称为“挂钩方法”,而执行调用的方法称为“组织方法”。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)