最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

輕松掌握J(rèn)ava模板模式

 更新時(shí)間:2021年08月09日 15:40:44   作者:斷了聯(lián)系  
這篇文章主要幫助大家輕松掌握J(rèn)ava模板模式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

定義:一個(gè)抽象類公開定義了執(zhí)行它的方法的方式/模板。它的子類可以按需要重寫方法實(shí)現(xiàn),但調(diào)用將以抽象類中定義的方式進(jìn)行

特點(diǎn):

1、封裝不變部分,擴(kuò)展可變部分。

2、提取公共代碼,便于維護(hù)。

3、行為由父類控制,子類實(shí)現(xiàn)。

企業(yè)級(jí)開發(fā)和常用框架中的應(yīng)用:spring中對(duì)hibernate的實(shí)現(xiàn)(開啟事務(wù),打開會(huì)話,關(guān)閉session)

實(shí)例:下面以玩游戲舉例,所有游戲玩的時(shí)候都有兩個(gè)操作,打開游戲和關(guān)閉游戲,但中間玩的方式就不一樣了,下面看實(shí)際例子。

public class Demo {
 public static void main(String[] args) {
 Game g1 = new LOL();
 Game g2 = new CF();
 g1.playGame();
 g2.playGame();
 }
}

abstract class Game{
 protected void init(){
 System.out.println("初始化游戲并登陸游戲。。。");
 }
 public abstract void play();
 protected void end(){
 System.out.println("結(jié)束游戲并退出登錄。。。");
 }
 public void playGame(){
 init();
 play();
 end();
 }
}

class LOL extends Game{
 public void play() {
 System.out.println("玩英雄聯(lián)盟游戲");
 }
}

class CF extends Game{
 public void play() {
 System.out.println("玩創(chuàng)越火線游戲");
 }
}

模板模式其實(shí)就是抽象類的應(yīng)用,這個(gè)模式比較簡(jiǎn)單,而且在實(shí)際開發(fā)中也用的比較多。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java中的三元運(yùn)算(三目運(yùn)算)以后用得到!

    Java中的三元運(yùn)算(三目運(yùn)算)以后用得到!

    Java提供了一個(gè)三元運(yùn)算符,可以同時(shí)操作3個(gè)表達(dá)式,下面這篇文章主要給大家介紹了關(guān)于Java中三元運(yùn)算(三目運(yùn)算)的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-10-10
  • Spring boot隨機(jī)端口你都不會(huì)還怎么動(dòng)態(tài)擴(kuò)容

    Spring boot隨機(jī)端口你都不會(huì)還怎么動(dòng)態(tài)擴(kuò)容

    這篇文章主要介紹了Spring boot隨機(jī)端口你都不會(huì)還怎么動(dòng)態(tài)擴(kuò)容,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • 使用JavaSE來模擬斗地主

    使用JavaSE來模擬斗地主

    這篇文章主要介紹了使用JavaSE來模擬斗地主,對(duì)棋牌游戲有研究的同學(xué)可以參考一下
    2021-04-04
  • Hikari?數(shù)據(jù)庫(kù)連接池內(nèi)部源碼實(shí)現(xiàn)的小細(xì)節(jié)

    Hikari?數(shù)據(jù)庫(kù)連接池內(nèi)部源碼實(shí)現(xiàn)的小細(xì)節(jié)

    這篇文章主要介紹了Hikari?數(shù)據(jù)庫(kù)連接池內(nèi)部源碼實(shí)現(xiàn)的小細(xì)節(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Spring項(xiàng)目中使用Junit單元測(cè)試并配置數(shù)據(jù)源的操作

    Spring項(xiàng)目中使用Junit單元測(cè)試并配置數(shù)據(jù)源的操作

    這篇文章主要介紹了Spring項(xiàng)目中使用Junit單元測(cè)試并配置數(shù)據(jù)源的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Java值得使用Lambda的8個(gè)場(chǎng)景合集

    Java值得使用Lambda的8個(gè)場(chǎng)景合集

    可能對(duì)不少人來說,Lambda顯得陌生又復(fù)雜,覺得Lambda會(huì)導(dǎo)致代碼可讀性下降,但畢竟2023年了,JDK都出了那么多新版本,是時(shí)候試試Lambda了
    2023-08-08
  • springboot讀取application.yml報(bào)錯(cuò)問題及解決

    springboot讀取application.yml報(bào)錯(cuò)問題及解決

    這篇文章主要介紹了springboot讀取application.yml報(bào)錯(cuò)問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • MybatisPlus3.5.5與pagehelper?starter2.1.0沖突的問題解決

    MybatisPlus3.5.5與pagehelper?starter2.1.0沖突的問題解決

    在使用MybatisPlus?3.5.5與PageHelper?Starter?2.1.0時(shí),由于引用了不同版本的jsqlparser庫(kù)(4.6與4.7),會(huì)導(dǎo)致運(yùn)行時(shí)錯(cuò)誤,解決方案涉及確認(rèn)依賴版本,本文就來介紹一下,感興趣的同學(xué)可以下載學(xué)習(xí)
    2024-10-10
  • Java中基于Nacos實(shí)現(xiàn)Sentinel規(guī)則持久化詳解

    Java中基于Nacos實(shí)現(xiàn)Sentinel規(guī)則持久化詳解

    這篇文章主要介紹了Java中基于Nacos實(shí)現(xiàn)Sentinel規(guī)則持久化詳解,Sentinel Dashboard中添加的規(guī)則數(shù)據(jù)存儲(chǔ)在內(nèi)存,微服務(wù)停掉規(guī)則數(shù)據(jù)就消失,在?產(chǎn)環(huán)境下不合適,我們可以將Sentinel規(guī)則數(shù)據(jù)持久化到Nacos配置中?,讓微服務(wù)從Nacos獲取規(guī)則數(shù)據(jù),需要的朋友可以參考下
    2023-09-09
  • SpringBoot2.x漏洞將logback1.2.x 升級(jí)至1.3.x

    SpringBoot2.x漏洞將logback1.2.x 升級(jí)至1.3.x

    安全部門在代碼漏洞掃描中發(fā)現(xiàn)logback 1.2.x版本存在CVE漏洞,建議升級(jí)至1.3.x版本,本文就來介紹了logback1.2.x 升級(jí)至1.3.x,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-09-09

最新評(píng)論

敦化市| 图们市| 沧源| 佳木斯市| 拜城县| 松原市| 五河县| 奉新县| 科技| 普洱| 岐山县| 商河县| 娄底市| 宾阳县| 江都市| 成武县| 衡水市| 聂拉木县| 新乡县| 康平县| 咸阳市| 松滋市| 双鸭山市| 通道| 商河县| 买车| 德惠市| 万载县| 仁化县| 油尖旺区| 竹山县| 陆川县| 靖边县| 怀安县| 淮北市| 河池市| 江北区| 始兴县| 光山县| 海口市| 新泰市|