之所以觉得javascript写起来特别的爽,尤其是在编写异步程序的时候,是因为javascript的闭包,使得我们能够简单的写出异步回调回调函数。。。。所以node.js的异步编程也能很简单的实现。。
在服务器端编程方面,高性能十分依赖非阻塞,异步和回调,同时java这一大大的语言却并没有闭包这一概念(据说新版本有,但是我不知道),也可以采用一定委婉的方式来实现。。。。那就是内部类,因为内部类可以访问所属的外部类对象的所有属性与方法,包括private的。。。。
好了,直接上代码吧:
public interface Incrementable {
public int incrment();
}
public class MyIncremetable{
private int a = 0;
public Incrementable getCaller(){
return new Incrementable(){
@Override
public int incrment() {
// TODO Auto-generated method stub
a++;
return a;
}
};
}
public static void main(String args[]) {
MyIncremetable m = new MyIncremetable();
Incrementable inc = m.getCaller();
System.out.println(inc.incrment());
}
}
这样子看起来貌似也能实现闭包和回调,但是总觉得比较弱,而且并不能适合所有的情况。。。