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
坦克开始日志......
坦克开动.......
坦克结束日志......
到此为止,一个简单的静态代理就完成了,其实完成的功能就是要在已经实现的接口的方法前后加一些与核心无关的功能,采用接口的聚合实现比较灵活。
相关文档:
(1).public static String StrReplace(String rStr, String rFix, String rRep)
{
int l = 0;
String gRt ......
得安奇专卖(运动休闲鞋,板鞋)淘宝小店:www.bxbshoes.com
Java 定义的位运算(bitwise operators )直接对整数类型的位进行操作,这些整数类型包括long,int,short,char,and byte 。表4-2 列出了位运算:
表4.2 位运算符及其结果
运算符 结果 &nb ......
java中怎么加入声音 先说一下在 applet 中播放声音文件的一般步骤:
创建一个 AudioClip 对象
装入 .au 或者wav的声音文件(或者后面所说的支持的类型)到 AudioClip 对象
下面是相应的代码:
import java.applet.*;
AudioClip ac = getAudioClip(getCodeBase(), soundFile);
ac. ......
1、String是最基本的数据类型吗?
基本数据类型包括byte、int、char、long、float、double、boolean和short。
java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类
2、int 和 Integer 有什么区别
Java 提供两种不同的类型:引用类型和原始类型( ......