1、普通方式实现:
// 定义一个接口 interface Person { void eat(String str); } // 第一个实现类 class FirstPerson implements Person { private String name; FirstPerson(String name) { this.name = name; } public void eat(String str) { System.out.println(name + "正在吃" + str); } } // 第二个实现类 class SecondPerson implements Person { private String name; SecondPerson(String name) { this.name = name; } public void eat(String str) { System.out.println(name + "准备吃" + str); } } // 要通过接口实现类实现接口定义的方法的类 public class Test { public final static int FIRST = 0; public final static int SECOND = 1; // 返回指定类型的接口 public static Person printPerson(int kind) { Person p = null; switch (kind) { case FIRST: p = new FirstPerson("人1");break; case SECOND: p = new SecondPerson("人2");break; } } public static void main(String[] args) { Person person = Test.printPerson(Test.FIRST);
person.eat("sth.");
}
}
2、springMVC 使用注解注入接口实现类:
主要就是在需要注入的地方引入:
@Autowired
@Qualifier("timeFilter") // 具体的接口实现类的名称
Filter timeFilter;
参考链接:
http://blog.csdn.net/tengdazhang770960436/article/details/38091081