易截截图软件、单文件、免安装、纯绿色、仅160KB

java简单静态代理(聚合)

定义一个接口
package com.beckham;
/*
* 定义一个接口
*/
public interface Move {
public void move() ;
}
 
核心的实现类
package com.beckham;
/*
* 最初的接口实现
*/
public class Tank implements Move {
public void move() {
System.out.println("坦克开动.......");
}
}
 
实现方法时记录时间
package com.beckham;
public class TankTime implements Move {
// 实现最原始的接口
private Move move;
public TankTime(Move move) {
this.move = move;
}
public void move() {
System.out.println(System.currentTimeMillis());
move.move();
}
}
 
实现方法前后加入日志
package com.beckham;
public class TankLog implements Move {
// 实现最原始的接口
private Move move;
public TankLog(Move move) {
this.move = move;
}
public void move() {
System.out.println("坦克开始日志......");
move.move();
System.out.println("坦克结束日志......");
}
}
 
聚合实现
package com.beckham;
public class Test {
public static void main(String[] args) {
// 最初的实现类
Move m = new Tank();
// 最里面的代理
TankLog tl = new TankLog(m);
// 外面的代理
TankTime tt = new TankTime(tl);

//接口的聚合
tt.move();
}
}
 
测试结果
1262316711937
坦克开始日志......
坦克开动.......
坦克结束日志......
到此为止,一个简单的静态代理就完成了,其实完成的功能就是要在已经实现的接口的方法前后加一些与核心无关的功能,采用接口的聚合实现比较灵活。


相关文档:

java使用rocksaw和vserv tcpip实现基于ICMP的Ping功能

一:准备 www.savarese.org download
 1.  rocksaw-1.0.0-src.tar.gz
 2.  vserv-tcpip-0.9.2-src.tar.gz
二:编译源文件得到jar包 使用Ant
 1.  build vserv-tcpip-0.9.2-src
      在vserv-tcpip-0.9.2目录下面建一个tests目录,然后在cmd窗口下进入 ......

Java反射经典实例 Java Reflection Cookbook (转)

Java提供了一套机制来动态执行方法和构造方法,以及数组操作等,这套机制就叫——反射。反射机制是如今很多流行框架的实现基础,其中包括Spring、Hibernate等。原理性的问题不是本文的重点,接下来让我们在实例中学习这套精彩的机制。
1. 得到某个对象的属性
1 public Object getProperty(Objec ......

java中怎么加入声音

java中怎么加入声音 先说一下在 applet 中播放声音文件的一般步骤:
 
创建一个 AudioClip 对象
装入 .au 或者wav的声音文件(或者后面所说的支持的类型)到 AudioClip 对象
 
 
下面是相应的代码:
 import java.applet.*;
 
AudioClip ac = getAudioClip(getCodeBase(), soundFile);
ac. ......

Java实践课程实验(2009岁末整理)

面向对象原理与Java
实践课程实验代码及报告
 
实验
1
:对象和类
实验内容:
  
1
、尝试两人合作编写程序,加深对方法的接口与实现的理解。其中一人负责编写方法
isPrime()
,用于判断一个给定的正整数是否素数,另一个人负责编写主方法
main()
,利用
isPrime()
验证著名的哥德巴赫猜想:任何比
......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号