java技术博客
jsp博客
BlogJava
首页
新随笔
联系
聚合
管理
数据加载中……
java代理模式
package
orj.jzkangta.proxydemo02;
public
class
ComputerMaker
implements
SaleComputer
{
public
void
sale(String type)
{
System.out.println(
"
卖出了一台
"
+
type
+
"
电脑
"
);
}
}
package
orj.jzkangta.proxydemo02;
import
java.lang.reflect.Proxy;
public
class
ComputerProxy
{
public
static
SaleComputer getComputerMaker()
{
ProxyFunction pf
=
new
ProxyFunction();
return
(SaleComputer)Proxy.newProxyInstance(ComputerMaker.
class
.getClassLoader(), ComputerMaker.
class
.getInterfaces(), pf);
}
}
package
orj.jzkangta.proxydemo02;
import
java.lang.reflect.InvocationHandler;
import
java.lang.reflect.Method;
public
class
ProxyFunction
implements
InvocationHandler
{
private
ComputerMaker cm;
public
void
youHui()
{
System.out.println(
"
我给你一些优惠。。。
"
);
}
public
void
giveMouse()
{
System.out.println(
"
我还要送你一个鼠标。。。
"
);
}
public
Object invoke(Object arg0, Method arg1, Object[] arg2)
throws
Throwable
{
String type
=
(String)arg2[
0
];
if
(type.equals(
"
联想
"
)
||
type.equals(
"
三星
"
))
{
if
(cm
==
null
)
{
cm
=
new
ComputerMaker();
youHui();
giveMouse();
arg1.invoke(cm, type);
}
}
else
{
System.out.println(
"
我没有你要的这个牌子的电脑。。。。
"
);
}
return
null
;
}
}
package
orj.jzkangta.proxydemo02;
public
interface
SaleComputer
{
public
void
sale(String type);
}
package
orj.jzkangta.proxydemo02;
public
class
Test
{
public
static
void
main(String[] args)
{
SaleComputer sc
=
ComputerProxy.getComputerMaker();
//
sc.sale("联想");
//
sc.sale("三星");
sc.sale(
"
Dell
"
);
}
}
posted on 2008-10-31 07:49
郭兴华
阅读(726)
评论(0)
编辑
收藏
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
管理
<
2008年10月
>
日
一
二
三
四
五
六
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
统计
随笔 - 84
文章 - 1
评论 - 2
引用 - 0
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(3)
给我留言
查看公开留言
查看私人留言
随笔分类
java每日练习代码
(rss)
TESTARRAY(6)
(rss)
事件模型与事件处理
(rss)
随笔档案
2009年1月 (2)
2008年11月 (14)
2008年10月 (68)
文章档案
2008年10月 (1)
搜索
最新评论
1. re: jsp读取*.TXT
请问 retstr是什么数据类型?String?好像不行哦
--jsp
2. re: StudentTest1.java
看不懂你的意思,代码没有缩进,看着很不习惯那。
--杨爱友
阅读排行榜
1. java中的treemap(4597)
2. JDBC连接SQLSERVER(1819)
3. 判断一个一个路径是否是目录(1084)
4. jsp读取*.TXT(762)
5. java代理模式(726)
评论排行榜
1. StudentTest1.java(1)
2. jsp读取*.TXT(1)
3. java1.5注解(二)(0)
4. java1.5注解(一)(0)
5. jsp中使用类(0)