==== Developer A side ======
class InterfaceTest2 {
public static void main(String[] args) {
A a = new A();
a.methodA();
}
}
==== Developer B side ======
=== Do not change Class name "A" and method "methodA"
=== Except two factors B side can change anything
class A {
void methodA() {
I i = InstanceManager.getInstance();
i.methodB();
}
}
interface I {
public abstract void methodB();
}
class B implements I {
public void methodB() {
System.out.println("methodB in B class");
}
}
class InstanceManager {
public static I getInstance() {
return new B();
}
}
Thursday, 27 March 2008
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment