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