public interface DecorateTest { void goTo(); }
public class DecoratePerson implements DecorateTest{ private DecorateTest decorateTest; public DecoratePerson(DecorateTest decorateTest) { this.decorateTest = decorateTest; } public DecoratePerson() { } @Override public void goTo() { System.out.println("person go to ..."); decorateTest.goTo(); } public static void main(String[] args) { DecorateTest student = new Student(); DecorateTest personnel = new Personnel(); DecoratePerson decoratePerson = new DecoratePerson(student); decoratePerson.goTo(); DecoratePerson decoratePerson2 = new DecoratePerson(personnel); decoratePerson2.goTo(); } } class Student implements DecorateTest { @Override public void goTo() { System.out.println("school"); } } class Personnel implements DecorateTest { @Override public void goTo() { System.out.println("work"); } }