比如一个操作文件的类
定义了一个类为File
由抽象方法open   和   save
然后有  操作xml文件的
XmlFile类   
和操作属性文件PFile
这两个都实现open 和 save方法另外的一个类调用文件的open和save方法
只需传File类型的参数就可以了
java用动态绑定  决定调用XmlFile的open 还是PFile的open
很好啊扩展也刚便

解决方案 »

  1.   

    用接口可以这样,反之则不然:
    soundinter cc = new a();
    cc.sound();
    soundinter cc = new b();
    cc.sound();
      

  2.   

    可以实现例如c++中的多个父类
    这在java中是不允许的
      

  3.   

    你说的这个例子的java伪码是如何的?这不是用继承就可以了么?
      

  4.   

    接口一般用来抽象某些共同的具体动作.
    用面向对象方法解释其意义:
    有一个"发出声音"接口
    类a(不妨设为"鸣鸟"类)实现了该接口.
    类b(不妨设为"喇叭"类)也实现了该接口.
    把类a和类b归纳为一个大类似乎不太合适,
    但让它们各自实现"发出声音"接口是比较贴切的.
    用发声物体cc,来标识实现了"发出声音"接口的某个类的实例,
    然后让它发出声音,可以得到该对象能发出的声音.
      

  5.   

    接口(interface)好比一种模版,这种模版定义了对象必须实现的方法,其目的就是让这些方法可以作为接口实例被引用。接口不能被实例化。类可以实现多个接口并且通过这些实现的接口被索引。接口变量只能索引实现该接口的类的实例。
      

  6.   

    我最同意的就是: ydr2002(▲▲▲▲▲▲▲▲) 的说法===================================
       我的一分耕耘,你能给一分收获
      

  7.   

    binny(骑个破车看夕阳) 写的太粗俗了,不过对接口的理解十分正确。
    我再说个例子,java.sql包中connection,resultset等都是接口,不同的数据库厂商的jdbc驱动就是实现这些接口,它们内部怎样处理你不用知道,调用接口就可以了。这就是接口的作用。
      

  8.   

    binny(骑个破车看夕阳):
    “大便“是名词,方法名该用动词改成"拉大便"hoho~
      

  9.   

    楼上:
    la大便的“la”不是这么写的,我就是因为输入法里找不到这个字才把它省略的,呵呵
      

  10.   

    通过这一阵的实践和学习,我觉得只有用得到造型的地方,接口才有意义。否则......
    就好像connection, 它就是对具体实现类的造型(造型为具体类继承的接口)
    很感谢大家的指点,希望能共同进步!!