一個接口有多個實現類的調用方式


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM