【发布时间】:2011-12-24 04:18:13
【问题描述】:
我有以下代码:
public class GrandParent {
public void greet() {
System.out.println("Hello from grandpa.");
}
}
public class Parent extends GrandParent {
public void run() {
greet();
}
}
public class RunMe {
public static void main(String args[]) {
Parent p = new Parent();
p.run();
}
public void greet() {
System.out.println("Hi.");
}
}
我的任务是编写 RunMe 类,并且尽可能地不允许我修改类 Parent 和 GrandParent。我如何以这样一种方式实现这一点,即当执行到达 Parent 的 run() 时,RunMe 的 greet()(或者它可能在另一个地方)被执行,而不是 GrandParent 的 greet()。
或者这首先是可能的吗?
【问题讨论】:
-
依赖注入在这里如何适应?
-
您是完全不允许修改类还是“尽可能”不修改它们?您可以编辑您的问题以使其更清楚吗?谢谢。
标签: java dependencies code-injection reusability