In Java, everything is an Object, including interface.

解决方案 »

  1.   

    那么说我得到的应该是一个对象,我还是有一些不明白的地方(1)通过一个方法返回一个接口,这种编程方法,我理解肯定是先有一个实现这个接口的类,然后在把一个类的实例返回过来,从而只得到这个interface object?
      

  2.   

    这个问题应该这样解释,接口可以说是定义一种业务规则,例如你定义了一个接口,然后用一个类去继承这个接口,你就必须去实现接口里面的所有方法。
    至于你刚刚说的"返回一个interface类型的对象"这个就要用设计模式的来解释一下了返回一个interface类型的对象 这个一般来说是一种工厂模式,是为了更好的利用这个接口.
      

  3.   

    接口只是不能实例化的类 通过接口中定义了final static的变量和静态方法 这些变量和方法的调用不需要类实例化 所以有些方法返回接口就是为了调用其静态函数
      

  4.   

    interface A{}
    class B implements A{}A xx = new B();  //可以,因为这里返回的是B类的一个实例子,而B实现了A。这里A只做声明
    public A xx(){ return new B(); }  //可以,道理同上
      

  5.   

    之所以这样做是因为实现接口A的类可能很多,可能是B或C或D,但你在一个方法里又不知道到底会返回哪个类的实例,这时候我们就用:public A xx(){}
      

  6.   

    interface 和 abstract class的本质是一样的,定义返回的interface,实际上被返回的是哪个interface的子类