例子:
1. 直接new乙個例項,這樣肯定知道用的哪個例項
2. 定義介面型別的變數,用某個例項去初始化。。。這樣也是肯定知道用的哪個例項
一般我們用第二種方式有乙個好處,如果以後要改動,那麼只需要修改其引用的例項,改動較少!
舉個例子:a介面,a1,a2,a3實現a介面,有乙個eat方法,a1:吃飯,a2:吃魚,a3:吃肉
需要得到"吃肉",那麼 a a = new a3();
需要得到"吃飯",那麼 a a = new a1();
二、看**發現的例子:
介面:public inte***ce csbaseservice
實現類1:
@service
public class cslastupdateservice implements csbaseservice
}實現類2:
public class csrelatemodelservice implements csbaseservice
呼叫的時候:
public class relatemodelcontroller extends basecontroller
relatemodelcontroller 的父類basecontroller
public abstract class basecontroller
乙個介面多個實現,指定實現類
目的 乙個介面多個實現時,根據不同的條件呼叫不用的實現 1 有如下介面 public inte ce pay2 有如下兩個實現 實現一 service weixinpay public class weixinpay implements pay 實現二 service alipay public ...
Autowired乙個介面有多個實現類
autowired是spring的註解,預設使用的是bytype的方式向bean裡面注入相應的bean。例如 autowired private userservice userservice 這段 會在初始化的時候,在spring容器中尋找乙個型別為userservice的bean實體注入,關聯到...
乙個介面多個實現類,controller層如何操作
今天,寫 時,突發奇想,每次寫service層時 都是乙個介面對應乙個實現類,如果有多個實現類實現同乙個介面,那麼在controller層中,注入後呼叫,咋知道到用的是哪個介面的方法,經過一番測試,和查詢資料,終於找到了結果 乙個介面多個實現類,需注入指定的實現類 例如 inte ce 介面有兩個實...