装饰器模式 适用场景 在不改变classA的情况下,给classA动态增加/增强功能 实现方法 Decorator继承classA的接口,并依赖classA public interface A { void callA(); } public class AImpl implements A { ...... } public class Decorator implements A { private A a = new AImpl(); public void callA() { // do sth. a.callA(); // do sth. } } 实现例子 java io: FilterInputStream public class DecoratorDemo { public static void main(String[] args) { try(InputStream in = new FileInputStream("a.txt")) { FilterInputStream filterInputStream = new DataInputStream(in); System.out.println(filterInputStream.read()); } } }