亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

java根據(jù)不同的參數(shù)調(diào)用不同的實(shí)現(xiàn)類(lèi)操作

瀏覽:3日期:2022-08-24 08:54:08

本猿今天今天幫公司寫(xiě)第三支付接口的時(shí)候,靈機(jī)一動(dòng)就想寫(xiě)一個(gè)擴(kuò)展性比較的強(qiáng)的充值接口,t通過(guò)選擇不同的充值渠道,調(diào)用不同的充值實(shí)現(xiàn)類(lèi)(好了,廢話(huà)不多說(shuō)了,上碼?。。。。。?/p>

首先你得寫(xiě)一個(gè)接口(樓主用的框架是springMVC +Spring +嘿嘿)PayService

java根據(jù)不同的參數(shù)調(diào)用不同的實(shí)現(xiàn)類(lèi)操作

然后寫(xiě)你的PayService實(shí)現(xiàn)類(lèi) EcpssPayService(第三方接口實(shí)現(xiàn)類(lèi))和 ReapalPayService(第三方接口實(shí)現(xiàn)類(lèi)) 注意幾點(diǎn)(注解一定得跟上)

java根據(jù)不同的參數(shù)調(diào)用不同的實(shí)現(xiàn)類(lèi)操作

好了之后 就可以 寫(xiě)一個(gè)工具類(lèi)了 SpringBeanUtil(這其中至于違背了Spring的 依賴(lài)注入思想 慎用什么的 我只想說(shuō)你愛(ài)用不用 嘿嘿)

java根據(jù)不同的參數(shù)調(diào)用不同的實(shí)現(xiàn)類(lèi)操作

寫(xiě)好了之后(ok完工了), 接下來(lái)你就可以在Controller中調(diào)用了(你通過(guò)前端傳過(guò)來(lái)的參數(shù)payWay來(lái)調(diào)用不同的實(shí)現(xiàn)類(lèi):比如說(shuō)我傳過(guò)來(lái)的是reapal

那么就掉用ReapalService類(lèi),傳過(guò)來(lái)的是ecpss那么就調(diào)用EcpssPayService!).

java根據(jù)不同的參數(shù)調(diào)用不同的實(shí)現(xiàn)類(lèi)操作

最后再說(shuō)下你的實(shí)現(xiàn)類(lèi)一定是在Spring 加載掃描包的時(shí)候能掃描到,否則你就Duang了如果爆了類(lèi)未定義少年那只能說(shuō)明你還年輕 嘿嘿 去看看applicationContext.xml如下

java根據(jù)不同的參數(shù)調(diào)用不同的實(shí)現(xiàn)類(lèi)操作

看看component-scan 有沒(méi)有掃描到你的兩個(gè)實(shí)現(xiàn)類(lèi)的包的路徑 over!?。。?/p>

補(bǔ)充知識(shí):在java類(lèi)中實(shí)現(xiàn)不同接口的同名方法時(shí),該方法屬于哪個(gè)接口?

存在這樣一種情況,有一個(gè)類(lèi)實(shí)現(xiàn)了兩個(gè)接口,在這兩個(gè)接口當(dāng)中有相同的方法(同名同參),那么類(lèi)中的該實(shí)現(xiàn)方法屬于哪個(gè)接口的呢?

public interface InterfaceA { void method(); void methodA();}public interface InterfaceB { void method(); void methodB();}public class Subject implements InterfaceA, InterfaceB { @Override public void method() { } @Override public void methodB() { } @Override public void methodA() { }}

Subject類(lèi)實(shí)現(xiàn)了InterfaceA和InterfaceB兩個(gè)接口的方法,其中method是InterfaceA和InterfaceB共用的相同方法,那么Subject類(lèi)中實(shí)現(xiàn)的該方法是屬于哪個(gè)接口的呢?

答案是既是InterfaceA的也是InterfaceB的,什么意思?就是說(shuō)此時(shí)的Subject類(lèi)你既可以把它當(dāng)做InterfaceA來(lái)使用其中的method方法,也可以把它當(dāng)做InterfaceB來(lái)使用其中的method方法。

Java對(duì)于implements的要求是只要在接口中聲明的方法,在實(shí)現(xiàn)類(lèi)中必須要實(shí)現(xiàn)它,單看Subject 類(lèi),它里面具有method和methodA兩個(gè)方法,因此它就是實(shí)現(xiàn)了InterfaceA接口所有方法的實(shí)現(xiàn)類(lèi),同時(shí)它里面具有method和methodB兩個(gè)方法,因此它也是實(shí)現(xiàn)了InterfaceB接口所有方法的實(shí)現(xiàn)類(lèi)。

因此,在使用Subject 類(lèi)的時(shí)候,如果你認(rèn)為它是InterfaceA,那它就是InterfaceA,如果你為它是InterfaceB,那它就是InterfaceB。

所以可以像下面這樣去使用它,完全沒(méi)有問(wèn)題:

public class Main { public static void main(String[] args) { //我現(xiàn)在認(rèn)為它是一個(gè)InterfaceA實(shí)現(xiàn)類(lèi), 就把它當(dāng)做一個(gè)InterfaceA接口來(lái)使用 InterfaceA interfaceA = new Subject(); interfaceA.method(); interfaceA.methodA(); test(interfaceA); //我現(xiàn)在認(rèn)為它是一個(gè)InterfaceB實(shí)現(xiàn)類(lèi), 就把它當(dāng)做一個(gè)InterfaceB接口來(lái)使用 InterfaceB interfaceB = new Subject(); interfaceB.method(); interfaceB.methodB(); //下面都是完全沒(méi)問(wèn)題的 Subject subject = new Subject(); subject.myMethod(); //當(dāng)成InterfaceA用 interfaceA = subject; interfaceA.method(); interfaceA.methodA(); //當(dāng)成InterfaceA用的過(guò)程中又可以當(dāng)成InterfaceB用 interfaceB = subject; interfaceB.method(); interfaceB.methodB(); //當(dāng)成InterfaceB用的過(guò)程中又可以再當(dāng)成InterfaceA用 interfaceA = (InterfaceA) interfaceB; interfaceA.method(); interfaceA.methodA(); //...隨便用... } private static void test(InterfaceA interfaceA){ //如果我知道InterfaceA的實(shí)現(xiàn)類(lèi)同時(shí)也implements了InterfaceB // 那么我就可以把它當(dāng)做InterfaceB的實(shí)現(xiàn)類(lèi)來(lái)使用 InterfaceB interfaceB = (InterfaceB) interfaceA; interfaceB.method(); interfaceB.methodB(); }}

以上這篇java根據(jù)不同的參數(shù)調(diào)用不同的實(shí)現(xiàn)類(lèi)操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 国产三区视频在线观看 | 日日a.v拍夜夜添久久免费 | 精品国产91久久久久久久a | 亚洲精品一区二区三区美女 | 成年人免费黄色片 | 亚洲高清免费视频 | 久久视频免费 | 亚洲最大网站在线 | 国产日韩欧美swag在线观看 | 黑人黄色毛片 | 在线 中文字幕 日韩 欧美 | 2020夜夜操 | 国产精品久草 | 一区二区三区四区免费视频 | 国产一区二区三区亚洲欧美 | 国产午夜三区视频在线 | 中文字幕在线视频在线看 | 美女张开腿让男人桶的 视频 | 日韩欧美中文字幕在线播放 | 欧美日韩国产免费一区二区三区 | 精品欧美亚洲韩国日本久久 | 欧美巨乳在线 | 日韩一级欧美一级在线观看 | 免费黄网在线观看 | 91高清国产经典在线观看 | 欧美一级aa毛片禁片 | 亚洲免费高清 | 一本色道久久综合 | 性做久久久久久免费观看 | 国产精品视频男人的天堂 | 成人网视频免费播放 | 黄频免费影院 | 日本免费人成黄页在线观看视频 | 国产亚洲小视频 | 一级毛片免费不卡在线视频 | 黄色在线视屏 | 久久精品高清视频 | 国产aaa毛片 | 大片在线播放日本一级毛片 | 欧美a在线 | 爽死你个放荡粗暴小淫货双女视频 |