java静态代理的含义及用法
说明
1、如果代理在程序运行之前就已经存在了,那么这种代理方式就成了静态代理,在这种情况下,代理通常是由我们在Java代码中定义的。
2、一般来说,静态代理中的代理类和委托类将实现相同的界面,或者生出相同的父类。
实例
/** * 委托类和代理类都实现了Sell接口 */ public interface Sell { void sell(); void ad(); }
实例扩展:
在Java中,代理也是这样的概念,来看个栗子:
先来创建一个明星类Stars:
public class Stars implements IStars{ private String name; public Stars(String name) { this.name = name; } public String getName() { return name; } public void setName(String name) { this.name = name; } public void sing(){ System.out.println(getName() + " 唱了一首歌."); } public void dance(){ System.out.println(getName() + " 跳了一支舞."); } }
这是相应的接口:
public interface IStars { void sing(); void dance(); }
到此这篇关于java静态代理的含义及用法的文章就介绍到这了,更多相关java静态代理是什么内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
Java实现多线程中的静态代理模式
前言 代理模式是一种设计模式,提供了对目标对象额外的访问方式,即通过代理对象访问目标对象,这样可以在不修改原目标对象的前提下,提供额外的功能操作,扩展目标对象的功能. 简言之,代理模式就是设置一个中间代理来控制访问原目标对象,以达到增强原对象的功能和简化访问方式. 静态代理属于设计模式中的代理模式.反之则有动态代理,本篇文章不展开讲,有兴趣的可自行谷歌研究研究. 其实继承Thread也属于静态代理的一种,所以在这里学习静态代理有助于我们学习多线程. 静态代理 优点:可以在不修改目标对象的前提下扩
-
Java动态代理静态代理实例分析
代理模式:为其他对象提供一种代理以控制某个对象的访问.用在:在某些情况下,一个客户不想或者不能直接访问另一个对象,而代理对象可以在客户端和目标对象之前起到中介的作用,代理对象还可以完成它附加的操作. 例子:就像房东.租客.中介的关系.中介(代理对象)为房东(真实对象)出租房子,租客(客户)通过中介(代理对象)来找房子租房子,中介完成了租房以后可以收取中介费(附加操作). 先看看静态代理模式,通过上面对代理模式的理解,可以了解到代理模式:即不直接通过new一个真实对象来调用方法,而是通过代理对象来
-
Java线程创建静态代理模式代码实例
一.背景 在通过Runnable接口创建线程时,启动线程需要借助Thread类,这里就涉及到了静态代理模式. 二.实例 以歌手演出为例,在演出的这个过程中,歌手与他的助理他们有一个共同的目标"完成这场演出". 为啥需要歌手需要有助理呢? 因为举办好一场演出有很多繁琐的事情要做,为了让歌手专心完成"唱歌"这件事,助理就需要在背后帮助歌手做很多事情. 1.助理负责帮助歌手做一些辅助工作,例如帮忙宣传.帮忙计划行程.帮忙订机票等等. 2.歌手负责唱歌这件事情. 三.实例的
-
Java静态代理和动态代理的深入讲解
代理模式 代理模式(Proxy):为其他对象提供一个代理以控制对这个对象的访问. 主要解决:在直接访问对象时带来的问题,比如说:要访问的对象在远程的机器上.在面向对象系统中,有些对象由于某些原因(比如对象创建开销很大,或者某些操作需要安全控制,或者需要进程外的访问),直接访问会给使用者或者系统结构带来很多麻烦,我们可以在访问此对象时加上一个对此对象的访问层. 代理模式的元素是:共同接口.代理对象.目标对象. 代理模式的行为:由代理对象执行目标对象的方法.由代理对象扩展目标对象的方法. 代理模式的
-
Java代理深入讲解之静态代理
什么是代理 代理就是给目标对象一个代理对象,并由代理对象控制目标的引用. 为什么要使用代理模式 1.通过引入代理对象的方式,可以间接的访问目标对象,避免直接访问目标对象给系统带来不必要的复杂性. 2.通过代理对象可以对原有的业务进行业务增强处理. 举例:如果我们需要买国外的某一件商品A,这个时候我们一般有两个途径要么直接去国外买,要么可以找一些代购人员帮我们去购买.在这种情况下,我们由于直接去国外买,实在是太耗软妹币,而且还要花时间等等,这个时候我们最优的选择就是找代购购买,这样也帮我们省去了很
-
java静态代理的含义及用法
说明 1.如果代理在程序运行之前就已经存在了,那么这种代理方式就成了静态代理,在这种情况下,代理通常是由我们在Java代码中定义的. 2.一般来说,静态代理中的代理类和委托类将实现相同的界面,或者生出相同的父类. 实例 /** * 委托类和代理类都实现了Sell接口 */ public interface Sell { void sell(); void ad(); } 实例扩展: 在Java中,代理也是这样的概念,来看个栗子: 先来创建一个明星类Stars: public class Star
-
Java静态代理和动态代理总结
静态代理 第一种实现(基于接口): 1>接口 public interface Hello { void say(String msg); } 2>目标类,至少实现一个接口 public class HelloImpl implements Hello { public void say(String msg) { System.out.println("Hi,"+msg); } } 3>代理类(与目标类实现相同接口,从而保证功能一致) public class He
-
JAVA 静态代理模式详解及实例应用
JAVA 静态代理模式 代理模式(Proxy):为其他对象提供一种代理以控制对这个对象的访问. 代理模式说白了就是"真实对象"的代表,在访问对象时引入一定程度的间接性,因为这种间接性可以附加多种用途. 在这实现代码之前,先讲一个简单的生活故事,我们都知道我们周边有很多公司有房屋买卖或租赁的业务,比如链家(LianJia),但链家本身是不存在任何实际房屋资产的,他所售卖租赁的房屋均需要房屋产权所有人(HomeMaster)提供,才得以实现公司的房源需求:同时公司要的卖房租房业务均需要公司
-
详解 Java静态代理
今天要介绍的是一个Java中一个很重要的概念--代理. 什么是代理?联系生活想想看,代理似乎并不陌生,最形象的代表便是经纪人,明星一般都有经纪人,经纪人作为中间人,负责代理明星的相关事宜,比如说,有人要请明星去唱歌表演,一般不会直接跟明星联系,而是联系他的经纪人,他的经纪人来负责安排行程,而真正唱歌表演的还是明星本人,经纪人仅仅作为一个附加物存在. 在Java中,代理也是这样的概念,来看个栗子: 先来创建一个明星类Stars: public class Stars implements ISta
-
Java静态代理与动态代理案例详解
代理模式 代理模式(Proxy):为其他对象提供一个代理以控制对这个对象的访问. 主要解决:在直接访问对象时带来的问题,比如说:要访问的对象在远程的机器上.在面向对象系统中,有些对象由于某些原因(比如对象创建开销很大,或者某些操作需要安全控制,或者需要进程外的访问),直接访问会给使用者或者系统结构带来很多麻烦,我们可以在访问此对象时加上一个对此对象的访问层. 代理模式的元素是:共同接口.代理对象.目标对象. 代理模式的行为:由代理对象执行目标对象的方法.由代理对象扩展目标对象的方法. 代理模式的
-
Java 静态代理与动态代理解析
目录 一.代码实践 静态代理 动态代理 二.常见的动态代理场景 Retrofit中的动态代理 使用动态代理实现onClick注入 三.源码探索Jdk中的动态代理 生成代理类 四.总结 静态代理: 由我们开发者自己手动创建或者在程序运行前就已经存在的代理类,静态代理通常只代理一个类,动态代理是代理一个接口下的多个实现类. 动态代理: 在程序运行时,运用java反射机制动态创建而成,静态代理事先知道要代理的是什么,而动态代理不知道要代理什么东西,只有在运行时才知道,通常动态代理实现方式是通过实现 j
-
java 静态代理 动态代理深入学习
一.代理模式 代理模式是常用的java设计模式,特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息.过滤消息.把消息转发给委托类,以及事后处理消息等. 代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法,来提供特定的服务. 按照代理的创建时期,代理类可以分为两种: 静态代理:由程序员创建或特定工具自动生成源代码再对其编译.在程序运行前代理类的.class文件就已经存在了. 动态代理:在
-
代理模式:JAVA静态代理和动态代理的实例和实现详解
目录 前言 静态代理 实现简述 创建human接口 创建接口实现类 创建针对接口实现增强操作的代理 代理实现效果 动态代理 实现简述 要点:向上转型 创建YoungMan接口 创建两个接口实现类 创建动态代理实例对象 代理实现效果 要点:InvocationHandler补充 代理模式和修饰模式的区别 总结 前言 代理模式,我们这里结合JAVA的静态代理和动态代理来说明,类比Spring AOP面向切面编程:增强消息,也是代理模式. 而我们的静态代理和动态代理,与(service)接口和(ser
随机推荐
- ES6中的rest参数与扩展运算符详解
- Http请求长时间等待无结果返回解决办法
- 编写Python脚本使得web页面上的代码高亮显示
- asp.net 取消缓存相关问题说明
- PHP字符串函数系列之nl2br(),在字符串中的每个新行 (\n) 之前插入 HTML 换行符br
- PHP动态地创建属性和方法, 对象的复制, 对象的比较,加载指定的文件,自动加载类文件,命名空间
- PHP截断标题且兼容utf8和gb2312编码
- python字符串替换的2种方法
- PHP 输出URL的快捷方式示例代码
- 建一个XMLHttpRequest对象池
- 最后挂电话才是最爱你的人
- Lua极简入门指南(一):函数篇
- 使用Ruby编写发送邮件的程序的简单教程
- 在SQL Server的try...catch语句中获取错误消息代码的的语句
- 详解Spring Boot中使用@Scheduled创建定时任务
- node.js中的buffer.slice方法使用说明
- javascript 全等号运算符使用说明
- 入侵检测及网络安全发展技术探讨
- 无法将函数定义与现有的声明匹配 问题的解决办法 分享
- Android TextView实现多文本折叠、展开效果