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

实现java闭包的另一种形式

记得第一次接触闭包的时候,觉得很奇怪,但从字面上很那理解闭包什么玩意,和闭包有的一比的当属控制反转,真正理解了后觉得就平常了。闭包二字其实是很经典的,闭包代码所表现的东西可不就是一个封闭的、自成一体的功能块吗?简单的说,闭包就是在内部定义的方法,拿到外面去使用。经典的javascript闭包形式如下:
Java代码
  
Js代码
function f1(){   
    var i = 20;   
    function closef(x){   
        alert(i+x);   
    }   
    return closef   
  
}   
  
var s = f1();   
s(20);  
function f1(){
var i = 20;
function closef(x){
alert(i+x);
}
return closef

}

var s = f1();
s(20);
javascript的这种闭包形式的确相当简洁,类似于c语言的函数指针
 众所周知,java实现闭包的形式是内部类,更常用的还是匿名内部类,而这通常还需要定义接口,通过接口的引用来操作内部类对象,从而实现闭包,远没有javascript简洁。这里介绍我在开发中使用的一种java闭包形式,当然还是内部类,我在实现的时候把反射机制加了进来,这么做就是尽量使用起来简单一些。代码如下:
先定义一个接口,接口还是需要的,在以后的闭包使用中,只需要这一个接口。
Java代码
package p;   
  
public interface IMethod {   
           
    public Object invoke(Object ... objects );   
  
}  
package p;
public interface IMethod {

public Object invoke(Object ... objects );
}
该接口的实现类,这里引入反射:
Java代码
package p;   
  
import java.lang.reflect.Method;   
  
public class MethodObject implements IMethod {  


相关文档:

java环境变量配置

windows xp下配置JDK环境变量:
1.安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为D:\java\jdk1.5.0_08; 2 ......

用Java NIO写HTTP Server记录

花了一个多月用Java NIO写了一个定制的HTTP Server,主要是支持我的WeBuzz.IM网页版聊天服务

先介绍一下WeBuzz.IM网页聊天服务。
WeBuzz.IM
是一款网页版即时聊天工具,用于帮助用户通过网页和朋友聊天。Gtalk(Google Talk)
、MSN(Windows Live Messenger)
、Yahoo! Messenger(Yahoo! Chat,又称为雅虎通)
......

如何在UltraEdit中使java文件语法高亮显示?

如何在UltraEdit中使java文件语法高亮显示?
 
1.  UltraEdit官方网站下载所需文件格式的语法方, http://www.ultraedit.com/downloads/extras.html,选择java下载。
2.  选择“高级”->“配置”
3.  选择“编辑器显示”->“语法加亮”,点击“ ......

印度人写的java代码

我在一个印度外包公司工作。我所做的系统大部分是印度程序员写的。
看了他们的代码有个特点给大家评评。
1、他们写的代码比较严谨,比如在循环一个集合前会作null判断,方法类命名也比较规范易懂。
2、他们,注释写的不多,但log写很勤快。
3、他们好像不太喜欢用临时变量,能不用尽量不用。
4、他们的代码如判断一个b ......

java数据结构之树集TreeSet与书映射(TreeMap)

1.树集TreeSet
     TreeSet类在java.util包中
     树集中的结点是按着其存放的数据的字典序一层一层地依次排列  在同一层中的结点从左到右按字典序递增排列
     A.构造方法:TreeSet()
     B.常用方法
   & ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号