1 //接口的应用:工厂方法的设计模式
2 public class TestFactoryMethod {
3 public static void main(String[] args) {
4 IWorkFactory i = new StudentWorkFactory();
5 i.getWork().doWork();
6
7 IWorkFactory i1 = new TeacherWorkFactory();
8 i1.getWork().doWork();
9 }
10 }
11
12 interface IWorkFactory{
13 Work getWork();
14 }
15 class StudentWorkFactory implements IWorkFactory{
16
17 @Override
18 public Work getWork() {
19 return new StudentWork();
20 }
21
22 }
23 class TeacherWorkFactory implements IWorkFactory{
24
25 @Override
26 public Work getWork() {
27 return new TeacherWork();
28 }
29
30 }
31
32 interface Work{
33 void doWork();
34 }
35
36 class StudentWork implements Work{
37
38 @Override
39 public void doWork() {
40 System.out.println("学生写作业");
41 }
42
43 }
44 class TeacherWork implements Work{
45
46 @Override
47 public void doWork() {
48 System.out.println("老师批改作业");
49 }
50
51 }