public class Student {public Student(int i) {}
}
public class StudentFactory {public Student createStudent() {return new Student(10);}
}
public class Test {public static void main(String[] args) {Student student = new StudentFactory().createStudent();System.out.println(student);}
}
//主类
public class Master {public static void main(String[] args) {Cat cat = new Cat();Dog dog = new Dog();CatAdapter catAdapter = new CatAdapter();DogAdapter dogAdapter = new DogAdapter();ArrayList list = new ArrayList();list.add(cat);list.add(dog);ArrayList adapters = new ArrayList();adapters.add(catAdapter);adapters.add(dogAdapter);int index = (int) Math.floor(Math.random() * list.size());Object pet = list.get(index);for (Adapter adapter : adapters) {if(adapter.supports(pet)) {adapter.execute(pet);break;}}}
}