Friends
Friends接口
public interface Friends { void doSomeThing();}
Friends接口实现类
import com.test.demo.textdemo.zsz.service.Friends;public class ZhangJiChong implements Friends { @Override public void doSomeThing() { System.out.println("张计冲"); }}
import com.test.demo.textdemo.zsz.service.Friends;public class ZhouQinTao implements Friends { @Override public void doSomeThing() { System.out.println("周钦涛"); }}
装饰者
装饰者类
public class Decorator implements Friends { public Friends friends; public Decorator(Friends friends) { this.friends = friends; } @Override public void doSomeThing() { friends.doSomeThing(); }}
装饰者的具体实现
import com.test.demo.textdemo.zsz.decorator.Decorator;import com.test.demo.textdemo.zsz.service.Friends;public class Eat extends Decorator { public Eat(Friends friends) { super(friends); } @Override public void doSomeThing() { friends.doSomeThing(); System.out.println("吃了屎"); }}
测试
public class Main { public static void main(String[] args) { Eat eat = new Eat(new Eat(new ZhangJiChong())); eat.doSomeThing(); }}//runtime张计冲吃了屎吃了屎