比如 一个接口 A ,里面有一个方法fun1(),一般我们是先定义它的实现再引用它,比如 public class ImpA implements A{ public void fun1(){ //do some thing... } } 然后在另一个类调用 public class Class1 { public void method1(){ A a = new ImpA(); } } 但有时我想对这个接口做另一个实现不想使用ImpA,但由于是临时的又不想去做定义,则你就可以这样 public class Class1 { public void method1(){ A a = new A(){ //相当于在内存中直接产生了一个接口的实现并引用这个内存对象。动态的代码 public void fun1(){ //do some thing... } }; } }