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");
}
}