欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

靜態(tài)代理模式

代理模式

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

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

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

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

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

舉例

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

package static_assist;

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

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

代理人不能完成的事務,需要使用被代理人的引用去調用該事務的方法

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("學校進行考試安排");
    }

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

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

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

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

package static_assist;

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

    }

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

    @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)生代理類和被代理類的實例化對象,將被代理類的實例化對象傳遞到代理類

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

輸出:

學校進行上課安排
學校進行任課教師安排
學生去上課
學校進行考試安排
學生進行考試

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

相關文章

  • java提供的4種函數(shù)式接口

    java提供的4種函數(shù)式接口

    這篇文章主要介紹了java提供的4種函數(shù)式接口,函數(shù)接口是只有一個抽象方法的接口,用作?Lambda?表達式的類型并有且只有一個抽象方法的接口,下文詳細內(nèi)容,需要的小伙伴可以參考一下
    2022-03-03
  • java使用Hex編碼解碼實現(xiàn)Aes加密解密功能示例

    java使用Hex編碼解碼實現(xiàn)Aes加密解密功能示例

    這篇文章主要介紹了java使用Hex編碼解碼實現(xiàn)Aes加密解密功能,結合完整實例形式分析了Aes加密解密功能的定義與使用方法,需要的朋友可以參考下
    2017-01-01
  • JAVA中DIFF算法實現(xiàn)

    JAVA中DIFF算法實現(xiàn)

    本文主要介紹了JAVA中DIFF算法實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-07-07
  • Java重寫與重載之間的區(qū)別

    Java重寫與重載之間的區(qū)別

    本文主要介紹了Java重寫與重載之間的區(qū)別。具有一定的參考價值,下面跟著小編一起來看下吧
    2017-01-01
  • Java中UUID生成原理及優(yōu)缺點

    Java中UUID生成原理及優(yōu)缺點

    本文將詳細講解UUID的生成原理、特性、實用場景以及優(yōu)缺點,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-06-06
  • SpringBoot登錄、退出、獲取用戶信息的session處理方案

    SpringBoot登錄、退出、獲取用戶信息的session處理方案

    這篇文章主要介紹了SpringBoot登錄、退出、獲取用戶信息的session處理,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-08-08
  • SpringBoot中使用Servlet三大組件的方法(Servlet、Filter、Listener)

    SpringBoot中使用Servlet三大組件的方法(Servlet、Filter、Listener)

    這篇文章主要介紹了SpringBoot中使用Servlet三大組件的方法(Servlet、Filter、Listener),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • SpringBoot外部化配置使用Plus版的方法示例

    SpringBoot外部化配置使用Plus版的方法示例

    這篇文章主要介紹了SpringBoot外部化配置使用Plus版的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-05-05
  • Spring Boot 定義系統(tǒng)啟動任務的多種方式

    Spring Boot 定義系統(tǒng)啟動任務的多種方式

    這篇文章主要介紹了Spring Boot 定義系統(tǒng)啟動任務的多種方式,看看你都會哪幾種 ,感興趣的朋友跟隨小編一起看看吧
    2019-04-04
  • 從零開始在Centos7上部署SpringBoot項目

    從零開始在Centos7上部署SpringBoot項目

    本文主要介紹了從零開始在Centos7上部署SpringBoot項目,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-04-04

最新評論