这些内容是一个朋友发的,看了不是很明白。。《
使用interface的一个显而易见的好处是无论子类怎样扩展, 都可以以一种统一的方法来调用.
换句话说先定义一个接口, 可以定义任意多个此接口的实现, 然后只需对接口进行调用.
》能举个例子,或者说得明白点吗

解决方案 »

  1.   

    “实际开发中显而易见的好处”嘛,看看这个算不算~~比如你写一个 web application,一定用过 HttpServletRequest 吧?通过它,你可以做很多事情。它就是一个“接口”。如果你的 web application 跑在 Tomcat 里,你可以看到具体实现接口的那个 class 是什么,而如果换到 Weblogic 里,真正实现这个接口的就是另外一个 class。然而作为 web application 的作者,你并不需要去关心那些 class 是什么,只要熟悉 HttpServletRequest 这个接口就够了。然后你的程序就既能在 Tomcat 里跑,也能在 Weblogic 里跑。这个好处够大了吧?  hehe
      

  2.   

    interface Sport
    {
    void run();
    void jump();
    }class Athlete implements Sport
    {
    public void run()
    {
    System.out.println("短跑");
    }
    public void jump()
    {
    System.out.println("三级跳");
    }
    public static void main(String[] args)
    {
    Athlete zhangsan=new Athlete();
    zhangsan.run();
    zhangsan.jump();
    }
    }
    这是一个最简单的例子。
      

  3.   

    gof设计模式反复向我们强调一件事情:
    让你的程序尽可能的可重用,要实现此点就要面向接口编程而不是面向实现编程。
    在业务分析阶段,按照业务定义各种接口,接口中定义方法,这些接口就不再变了或者变化极少。
    实现也就是类实现接口和接口定义的方法。
    需求变化时我们只需要改动类中的方法,而分布在程序中大量的对这个类的调用就不必再改动。
    具体运用就是上溯造型:
    interface 接口引用 = new 实现了接口的类;
    接口引用.方法();
      

  4.   

    接口在有资料上称为界面,JAVA的接口和包差不多,主要用来实现多重继承的功能;比如一个类lovesky  他要继承JFrame有要实现多线程,但这个类不能继承进程类(Thread类)
    因为他已经继承了 JFrame类(JAVA只支持单继承),所以要实现多线程他必须实现 Runnale接口,而如果他又要注册监听器,他又得实现actionListener这个接口。
    完整的表示   public lovesky class extends JFrame implements Runnable,actionListener这样就实现了多重继承的功能。。以后楼主就会慢慢理解的,以前我也是,不知道接口。。
    接口用 interfame定义而一个类要实现接口必须用关键字 implements