请看:
public class Demo1 { public static void main(String[] args) {
// TODO 自动生成的方法存根
        Fruits ft=new Fruits();
        ft.dsp();
}
}class Fruits {    public interface Apple {
        public String info();
    }
    public void dsp()
    {
     System.out.println("hello");
    }
}
这个程序是可以正常运行,但是我有个问题:就是类Fruits的内部包含一个接口,
也并没有实现这个接口,但是仍然可以new一个对象,我觉得很奇怪,
接口是不能生成对象的,为什么这里仍然可以?能从内存模型中说说吗

解决方案 »

  1.   

    Fruits只是定义了一个内部接口,没有要求一定要实现这个接口。这个接口也许留给子类用,也许留给其他内部类用
      

  2.   

     你只是定义这个接口,又没有使用这个接口,当然不需要实现了
    什么叫使用接口
    class Fruits implements  Apple  这样才是使用接口,才需要实现
    现在的 class Fruits 就是一个普通类,只是在内部定义了一个接口,它自己本身没有使用任何接口