易截截图软件、单文件、免安装、纯绿色、仅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类和对象的初始化过程

类的初始化和对象初始化是 JVM 管理的类型生命周期中非常重要的两个环节,Google 了一遍网络,有关类装载机制的文章倒是不少,然而类初始化和对象初始化的文章并不多,特别是从字节码和 JVM 层次来分析的文章更是鲜有所见。
本文主要对类和对象初始化全过程进行分析,通过一个实际问题引入,将源代码转换成 JVM 字节码后, ......

java字符串查找替换

(1).public   static   String   StrReplace(String   rStr,   String   rFix,   String   rRep)  
      {  
          int   l   =   0;  
          String   gRt ......

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

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

java读取网页信息

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ......

java中怎么加入声音

java中怎么加入声音 先说一下在 applet 中播放声音文件的一般步骤:
 
创建一个 AudioClip 对象
装入 .au 或者wav的声音文件(或者后面所说的支持的类型)到 AudioClip 对象
 
 
下面是相应的代码:
 import java.applet.*;
 
AudioClip ac = getAudioClip(getCodeBase(), soundFile);
ac. ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号