JAVA中乙個介面多個實現類時如何判定。

2021-09-10 21:52:13 字數 677 閱讀 3503

例子:

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 介面有兩個實...