interface就是一个接口了,你如果想实现这个接口,你就必须implement这个接口中所有的方法。abstract是抽象类,你如果要实现它,也必须实现它里面定义的抽象的方法。

解决方案 »

  1.   

    abstract是一个抽象类,类中可以有没有实现的方法(当然你也可以在类中实现所有的方法,并将此类声明为抽象类,那样的话,就可以让此类不能实例化),也就是说,abstract类是对类的抽象。
    interface是更高级的抽象,也可以说是对abstract类的抽象,因为在abstract类中你还可以实现一些方法,但在interface中你只能声明抽象的方法,而不能实现它。要实现interface中声明的方法,你必须实现(继承)此接口。接口就好像是一个标准或者叫规范。只要你实现某个接口,就必须实现它的方法。
    implements是实现接口的关键字,就好像继承类的关键字是extends一样
      

  2.   

    interface只声明方法,并不去实现它,而是由其他类通过implement来实现之
    abstract定义为抽象类,有一部分方法可以实现,一部分不实现,而由他的子类来实现之
      

  3.   

    interface 主要为了子类可以实现向上转型,当您定义interface 的时候主要是使用它的子类(实现多重继承的机制),implements是子类实现interface的方法,abstract也可以实现其子类的向上转型。
      

  4.   

    class A implements Interface
    class B extends AbstractClass
      

  5.   

    interface就是一个接口了,你如果想实现这个接口,你就必须implement这个接口中所有的方法。abstract是抽象类,你如果要实现它,也必须实现它里面定义的抽象的方法。
      

  6.   

    interface就是一个接口了,你如果想实现这个接口,你就必须implement这个接口中所有的方法。定义它的出现而且一般要找到类的共性,它有更好的扩展性,真正体现它的多态。implement这个接口中所有的方法。interface是更高级的抽象,也可以说是对abstract类的抽象。
      

  7.   

    interface和abstract class是抽象的两个不同层次。interface主要用于定义“对外”的规范,从实际意义上来讲,更多的可以看作是宣称一种能力,即提供该接口所包含的服务的能力;而abstract class通常来说,其抽象层次要略低于interface(当然你也可以说我在abstract class中只定义抽象方法而没有任何实现),它通常是对某些类共有的特征进行提炼的结果,其目的也是为了更好的代码重用。而implement则只是用于表明实现接口的关键字而已,从实际意义上来说就表明该类声明:我有能力提供这种服务。举例来说,显示器的视频输入接口就是一个interface,它的能力就是可以插入显卡的视频输出端口,并将显卡输出的视频数据传输到显示器。显卡输出端需要的是拥有这种能力的interface,因此,无论是液晶显示器也好,CRT显示器也罢,甚至是投影仪,只要你宣称(implement)你能够提供这种接口,那么都可以接受显卡的输出信号,这样你才能够有多种多样的显示设备。而abstract class更类似于这样一种情形:我们假定所有计算机启动时都有几个步骤:加电,主板BIOS自检,引导操作系统……如果用类来归纳这种行为,那么我们当然不希望在PC机类中写这么一堆代码,又到苹果机类中写一堆,这种时候我们就可以引入抽象类。它代表了一种“概念上的计算机”,即并没有这样的实体存在,但它概括了我们的计算机共有的一些特征。这样就可以在这个抽象类中实现一些“共有”的操作而不必散发“重复代码”的臭味了。另外再多嘴一句,纯属我的个人观点。我以为abstract class是传统的继承方式的代表,更多表示了子类“是一种”父类的概念;而interface则更多的体现了“有某种能力,有某种特征”的概念。这两者各有擅场。还有一点是interface可以多重implements,而在java中,一个子类只可以extends一个父类(不管父类是否是abstract的),这也从另外一面证明了我的观点:你应该只可以“是一种”东西,而你可以宣称你有“多个特征”和“多种能力”。
      

  8.   

    上面的兄弟理解的透彻,我摘录如下,以突出之。abstract class是传统的继承方式的代表,更多表示了子类“是一种”父类的概念;而interface则更多的体现了“有某种能力,有某种特征”的概念。这两者各有擅场。还有一点是interface可以多重implements和你应该只可以“是一种”东西,而你可以宣称你有“多个特征”和“多种能力”
      

  9.   

    你最好看看书上怎么说的,写个smaple,或者找个例子看看就明白了