编程语言
首页 > 编程语言> > java动态代理实现与原理详细分析

java动态代理实现与原理详细分析

作者:互联网

代理模式是一种设计模式,提供了对目标对象额外的访问方式,即通过代理对象访问目标对象,这样可以在不修改原目标对象的前提下,提供额外的功能操作,扩展目标对象的功能。

示例:火车票代售就是代理模式的体现,我们可以从火车票代售点买火车票,代售点代理了火车站对象,提供了买火车票的方法

 

 

 一:静态代理

/**
 * 接口
 * @author Ethon
 *
 */
public interface Person {

    void add();

}
/**
 * 目标对象
 * @author Ethon
 *
 */
public class Student implements Person {
    
    @Override
    public void add() {
            System.out.println("这是目标对象中的add()方法");
    }
}
/**
 * 代理对象
 * @author Ethon
 *
 */
public class StudentProxy implements Person{
    
    //目标对象
    private Student student;
    
    public StudentProxy(Student student){
        this.student = student;
    }

    @Override
    public void add() {
        System.out.println("开启事务..."); // 扩展功能
        student.add();
        System.out.println("提交事务...");
    }
}
/**
 * 测试类
 * @author Ethon
 *
 */
public class Test {
    
    public static void main(String[] args){
        //目标对象
        Student student = new Student();
        //代理对象
        StudentProxy proxy = new StudentProxy(student);
        proxy.add();
    }
}

输出结果:

开启事务...
这是目标对象中的add()方法
提交事务...

 

标签:java,对象,代理,目标,add,student,详细分析,public
来源: https://www.cnblogs.com/wakey/p/13974565.html