java中经常遇到实现jar中某个接口的方法就能走自定义的相关类和方法,这是为什么?

比如jar中提供了某个接口供用户自定义实现,如果用户实现了,就走自定义,如果没有实现,也不会影响jar的正常流转.

Java的三大基础特性,多态,如果有多个实现,就需要指定了

你应该是用了spring的自动注入,声明一个接口类型的成员变量,spring能够自动注入该接口的实现类的实例Bean。

否则就得自己new一个实现类来调用了,spring的自动注入原理百度一大堆。

写一个接口,自己的实现一个,然后用户看自身需求是否实现。实现方法的时候就传对象过去。判断对象是否是自己写的。

我也是刚学springSecurity权限控制时想到这个问题,整了半天没懂。