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


    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

  • 相关阅读:
    关于SuperSocket启动失败
    ffmpeg 常用命令
    Url中有中文参数需要编码解码
    单例模式
    c# 文件夹重命名
    一个既有winform又有webapi 的例子
    数据库查询字段的结构和长度
    Jquery 展开收起
    ajax即时修改
    EFCore 迁移
  • 原文地址:https://www.cnblogs.com/dali-lyc/p/7297497.html
Copyright © 2020-2023  润新知