千万里不及你
c语言不熟悉,java中的闭包是通过“接口+内部类”实现的以下是网上的一个例子public class DemoClass1 { private int length =0; //private|public private class InnerClass implements ILog { @Override public void Write(String message) { //DemoClass1.this.length = message.length(); length = message.length(); System.out.println("DemoClass1.InnerClass:" + length); } } public ILog logger() { return new InnerClass(); } public static void main(String[] args){ DemoClass1 demoClass1 = new DemoClass1(); demoClass1.logger().Write("abc"); //.new DemoClass1 dc1 = new DemoClass1(); InnerClass ic = dc1.new InnerClass(); ic.Write("abcde"); }}可以参考下这个博客http://www.cnblogs.com/chenjunbiao/archive/2011/01/26/1944417.html