日期:2014-05-20  浏览次数:20793 次

实例化接口的问题
Java code

interface Inter {
  public void m();
}



我在其它的类中main方法里写 new Inter() {public void m(){....}};
这样的写法该怎么理解呢?我知道这是匿名内部类,可是应该如何去理解它?
接口明确的说明了,不让new,这里又new了.不理解

------解决方案--------------------
这里的new不是new了接口,而是接口的一个实现。具体内容就是你的匿名类的内容。
------解决方案--------------------
new Inter() {public void m(){....}};
这个相当于
public class xxx implements
{public void m(){....}}
new xxx();
只不过xxx类是没有名字的,所以被称为匿名内部类
这里实例化的不是接口Inter,而是类xxx