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

詳解Java中的靜態(tài)代理模式

 更新時間:2022年12月26日 15:33:32   作者:從未止步..  
這篇文章主要為大家介紹了Java中的靜態(tài)代理模式,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

靜態(tài)代理模式

代理模式

代理人可以替受代理的人完成一些工作,比如:學(xué)校與學(xué)生之間的關(guān)系來說,學(xué)生就好比被被代理類,學(xué)生只需要負責上課,寫作業(yè),考試等事務(wù),而類似于課程,考試,任課教師的安排等都不需要學(xué)生去做,可以交給其學(xué)校完成。

靜態(tài)代理模式的實現(xiàn)要求

提供兩個真實的具體的類,代理類與被代理類;

兩個類同時實現(xiàn)同一個接口,接口中定義多個抽象方法(提取代理類,被代理各自的行為任務(wù))

代理類一定要有被代理對象的引用,為了能在代理類中調(diào)用被代理類的重寫接口中的方法

舉例

接口-----包含代理人和被代理人需要進行的事務(wù):

package static_assist;

public interface affair {
    //考試
    void testing();
    //考試安排
    void test_schedule();
    //上課
    void classing();
    //課程安排
    void classing_schedule();
    //任課教師安排
    void progamm_teacher();
}

代理人------學(xué)校:實現(xiàn)affair接口,并且重寫自己能夠完成的事務(wù)的方法,并產(chǎn)生被代理對象的引用,以便于調(diào)用被代理類中重寫的方法:

代理人不能完成的事務(wù),需要使用被代理人的引用去調(diào)用該事務(wù)的方法

package static_assist;

public class school implements affair {
    private student student;//被代理類的引用

    public school(student student) {
        this.student=student;
    }

    public school() {
    }

    @Override
    public void testing() {
        student.testing();
    }

    @Override
    public void test_schedule() {
        System.out.println("學(xué)校進行考試安排");
    }

    @Override
    public void classing() {
        student.classing();
    }

    @Override
    public void classing_schedule() {
        System.out.println("學(xué)校進行上課安排");
    }

    @Override
    public void progamm_teacher() {
        System.out.println("學(xué)校進行任課教師安排");
    }
}

被代理人----學(xué)生:實現(xiàn)affair接口,并且只需要重寫自己能夠完成的事務(wù)的方法即可

package static_assist;

public class student implements affair {
    @Override
    public void testing() {
        System.out.println("學(xué)生進行考試");
    }
    @Override
    public void test_schedule() {

    }

    @Override
    public void classing() {
        System.out.println("學(xué)生去上課");
    }

    @Override
    public void classing_schedule() {

    }

    @Override
    public void progamm_teacher() {

    }
}

測試類:

package static_assist;

public class Test {
    public static void main(String[] args) {
        school school=new school(new student());//產(chǎn)生代理類和被代理類的實例化對象,將被代理類的實例化對象傳遞到代理類

//通過代理類實例化對象調(diào)用各個事務(wù)方法
        school.classing_schedule();
        school.progamm_teacher();
        school.classing();
        school.test_schedule();
        school.testing();
    }
}

輸出:

學(xué)校進行上課安排
學(xué)校進行任課教師安排
學(xué)生去上課
學(xué)校進行考試安排
學(xué)生進行考試

到此這篇關(guān)于詳解Java中的靜態(tài)代理模式的文章就介紹到這了,更多相關(guān)Java靜態(tài)代理模式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JavaEE實現(xiàn)文件下載

    JavaEE實現(xiàn)文件下載

    這篇文章主要介紹了JavaEE實現(xiàn)文件下載的方法,非常的實用,需要的朋友可以參考下
    2014-10-10
  • IDEA 2020.1打開時閃退的問題及解決方法(完美解決方法)

    IDEA 2020.1打開時閃退的問題及解決方法(完美解決方法)

    這篇文章主要介紹了IDEA 2020.1打開時閃退問題及解決方法,本文給大家分享我的處理方案,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • json轉(zhuǎn)換成java對象示例

    json轉(zhuǎn)換成java對象示例

    這篇文章主要介紹了json轉(zhuǎn)換成java對象示例,需要的朋友可以參考下
    2014-04-04
  • SpringBoot整合Netty心跳機制過程詳解

    SpringBoot整合Netty心跳機制過程詳解

    這篇文章主要介紹了SpringBoot整合Netty心跳機制過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-02-02
  • Java實戰(zhàn)之客戶信息管理系統(tǒng)

    Java實戰(zhàn)之客戶信息管理系統(tǒng)

    這篇文章主要介紹了Java實戰(zhàn)之客戶信息管理系統(tǒng),文中有非常詳細的代碼示例,對正在學(xué)習(xí)java的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • Java?設(shè)計模式以虹貓藍兔的故事講解簡單工廠模式

    Java?設(shè)計模式以虹貓藍兔的故事講解簡單工廠模式

    簡單工廠模式是屬于創(chuàng)建型模式,又叫做靜態(tài)工廠方法(Static Factory Method)模式,但不屬于23種GOF設(shè)計模式之一。簡單工廠模式是由一個工廠對象決定創(chuàng)建出哪一種產(chǎn)品類的實例。簡單工廠模式是工廠模式家族中最簡單實用的模式,可以理解為是不同工廠模式的一個特殊實現(xiàn)
    2022-03-03
  • Windows中Tomcat整合到Eclipse的圖文教程

    Windows中Tomcat整合到Eclipse的圖文教程

    下面小編就為大家?guī)硪黄猈indows中Tomcat整合到Eclipse的圖文教程。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • lombok注解介紹小結(jié)

    lombok注解介紹小結(jié)

    lombok是一個可以幫助我們簡化java代碼編寫的工具類,這篇文章主要介紹了lombok注解介紹小結(jié),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • Springboot文件上傳功能簡單測試

    Springboot文件上傳功能簡單測試

    這篇文章主要介紹了Springboot文件上傳功能簡單測試,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-05-05
  • springboot項目中mapper.xml文件找不到的三種解決方案

    springboot項目中mapper.xml文件找不到的三種解決方案

    這篇文章主要介紹了springboot項目中mapper.xml文件找不到的三種解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01

最新評論

慈利县| 毕节市| 平度市| 喜德县| 岚皋县| 江都市| 盖州市| 泊头市| 南汇区| 武汉市| 北票市| 鄂托克旗| 遂宁市| 高青县| 岢岚县| 曲松县| 新乡县| 方山县| 天全县| 汾西县| 黄冈市| 汉沽区| 聊城市| 阿城市| 松阳县| 丹寨县| 望奎县| 彭山县| 延庆县| 定远县| 上林县| 长春市| 永州市| 阜平县| 杨浦区| 内黄县| 凭祥市| 阿拉善左旗| 民县| 三亚市| 葫芦岛市|