1、接口A,默认实现类D,真正调用类T。
初始化接口A, 实例化D,执行T。
2、
接口A:
public interface Human {
public void act()
throws Exception;
}
默认实现类D:
public class GeneralHuman implements Human{
private GeneralHuman() {
}
private static Human instance = new GeneralHuman();
public static Human getInstance(){
return instance;
}
public static void setInstance(Human human){
GeneralHuman.instance = human;
}
public void act() throws Exception {
return;
}
}
真正执行类T:
public class Peter implements Human{
public Peter(){
}
public void act() throws Exception {
System.out.println("I am Peter!");
return;
}
}
3、调用
public class TestRealClass {
public static void main(String[] args) {
// TODO Auto-generated method stub
GeneralHuman.setInstance(new Peter());
Human hMan = GeneralHuman.getInstance();
try {
hMan.act();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
4、输出结果:
I am Peter!