栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java中静态代理的概念

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java中静态代理的概念

* 代理模式:
 *      代理:就是让别人替自己完成事情!
 * 
 *         静态代理:(Thread类本身就用到了静态代理  Thread implements Runnable
 *                         开发中:自定义了一个类 实现Runnable接口
 *                 )
 * 
 *                 真实角色: 只专注自己的事情
 *                 代理角色:帮助真实角色完成不了的事情!
 * 
 *     特点:    
 *         真实角色和代理角色都需要去实现相关的接口(必须是同一个接口)!
 *         代理角色重写接口中的方法是对真实角色的方法进行了增强(扩展)!
 *             
 * 
 *         动态代理:
 *                 JDK动态代理
 *                 cglib动态代理 
 * 
 * 静态代理
 * 结婚这件事情:
 *         1)自己去操办
 *         2)找一个机构(婚庆公司WeddingCompany)
 *

public class Test {
	
	public static void main(String[] args) {
		//测试接口多态
		Marry m = new You() ;
		m.marry();
		System.out.println("------------------");
		
		You you = new You() ; //----->自定义了一个类(真实角色) 实现了Runnable接口
	//	Marry m2 = new WeddingCompany(you) ;
		WeddingCompany wc = new WeddingCompany(you) ;// 类似于---->Thread(代理角色) t1  = new Thread(资源类对象) ;
		wc.marry();										//类似于--->线程启动 t1.start()
	}
}

//定义一个结婚的接口
interface Marry{
	//结婚
	void marry() ;
}

//自己 :真实角色
class You implements Marry{

	@Override
	public void marry() {
		System.out.println("结婚了,很开心...");
	}
	
}

//婚庆公司:代理角色
class WeddingCompany implements Marry{
	private You you ;
	public WeddingCompany(You you) {
		this.you = you ;
	}
	
	@Override
	public void marry() {
		System.out.println("婚庆公司布置婚庆现场...");
		you.marry();
		System.out.println("男方需要付尾款...");
	}
	
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/847381.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号