关于Decorator Pattern 被包装的对象生成顺序的问题
2009-09-06 20:02
531 查看
关于包装类包装之后,对象生成顺序
package pku.ss.caoning.ipctest.decoratorTest;public abstract class AbstractDecorator implements Parent {
private Parent object;
public AbstractDecorator(Parent object){
this.object=object;
}
public void print() {
// TODO Auto-generated method stub
System.out.println("Decorator");
}
}
package pku.ss.caoning.ipctest.decoratorTest;
public class ConcreteClass implements Parent {
public ConcreteClass(){
System.out.println("ConcreteClass");
}
public void print() {
// TODO Auto-generated method stub
}
}
package pku.ss.caoning.ipctest.decoratorTest;
public class ConcreteDecorator1 extends AbstractDecorator {
public ConcreteDecorator1(Parent object) {
super(object);
// TODO Auto-generated constructor stub
System.out.println("ConcreteDecorator1");
}
}
package pku.ss.caoning.ipctest.decoratorTest;
public class ConcreteDecorator2 extends AbstractDecorator {
public ConcreteDecorator2(Parent object) {
super(object);
// TODO Auto-generated constructor stub
System.out.println("ConcreteDecorator2");
}
}
package pku.ss.caoning.ipctest.decoratorTest;
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new ConcreteDecorator2(new ConcreteDecorator1(new ConcreteClass()));
}
}
package pku.ss.caoning.ipctest.decoratorTest;
public interface Parent {
public void print();
}
结果是:
ConcreteClass
ConcreteDecorator1
ConcreteDecorator2
可以看出来new ConcreteDecorator2(new ConcreteDecorator1(new ConcreteClass()));的生成顺序是从内而外
相关文章推荐
- 关于dtree生成对象嵌入原网页的问题
- 类成员析构、虚析构函数、动态生成对象相关的 关于析构顺序的杂谈
- Java synchronized 关于锁的对象顺序问题
- 关于类中new对象与构造函数执行顺序的问题
- 关于新生成的物体生命周期执行顺序问题
- 关于linq 的dbml自动生成的表对象带s和不带s的问题
- 关于画对象和填充对象的顺序问题
- 关于hibernate通过注解方式自动生成表时字段的顺序问题
- 关于Java new对象构造方法执行顺序 解释恶汉单例模式死循环问题
- 关于项目生成顺序及引用的问题
- 关于基类指针指向子类对象,构造函数和析构函数调用的顺序的问题。
- 关于hibernate通过注解方式自动生成表时字段的顺序问题
- Java面试题——关于String创建几个对象问题
- 关于FLEX生成的SWF设置stage.displayState的问题
- 关于git初始化后无 .git文件生成的问题
- 关于如何判断jQuery中对象是否存在的问题
- 关于调用线程无法访问此对象,因为另一个线程拥有该对象的问题的解决办法
- ajax关于对象传后台问题
- 关于VS2008问题“无法找到“XXX.exe”的调试信息,或者调试信息不匹配。未使用调试信息生成二进制文件。“
- 关于C#函数对象参数传递的问题