我是菜鸟级别的,帮我理解下为什么注入的是接口而不是注入实现类
这是多态还有就是面向接口编程,都是OOP思想
因为代理机制。你获得的是代理对象,不是原实现类对象。
利用java多态性,面向接口编程:定义与实现的分离
比如说你有几个类都实现了一个接口,那你注入只写接口,当你调用一个接口的方法的时候你知道是哪个类实现的方法吗?
类似继承,如果只有一个接口,那写了就是弄更复杂了。但如果很多类都是有这个“行为”,你直接写实现类就要重复写N遍,一个接口就搞定了。(我也是菜鸟)