一个接口有多个实现类的调用方式

Posted dali_lyc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个接口有多个实现类的调用方式相关的知识,希望对你有一定的参考价值。

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

 

以上是关于一个接口有多个实现类的调用方式的主要内容,如果未能解决你的问题,请参考以下文章

创建多线程方式二:实现Runnable接口

java 代码片段

java 当一个接口被多个类继承时 如何知道是调用的哪个类的实现

创建线程有哪几种方式

spring调用方法(接口和多个实现类的情况)

Java嵌套类的作用、用法和调用机制是怎么样的?