比如 public class Test { public static void main(String[] args) {
            A a=new B();
            a.fuck();
}}interface A{
  void fuck();
}
class B implements A{ public void fuck() { 
System.out.println("A fuck");
}

}
这里 A 的引用也可以指向B对象的啊 
这跟继承有什么区别

解决方案 »

  1.   

    这一点概念是很类似,就好像B被赋予了A的类型身份标签除此之外,就算主要继承了A的抽象行为概念(没有实体)
      

  2.   

    很不相同。实现接口,就必须覆盖实现接口的方法。而继承就不一定。
    而且接口和类本身就有区别。
    “继承”与“实现接口”在java里面是面向对象的两种实现方式,“继承”在java里面只支持单一继承,而“实现接口”可以实现多个接口,而java里一般是推荐后者的
      

  3.   

    也可以算是继承,因为实现接口本来就是Java为了实现多继承的功能而做的,只是为了减少像C++中多继承带来的麻烦而定义出来的
      

  4.   

    不算.java的三个特性:封装.继承.多态.其中你这个帖子明显是把继承和多态混淆了.虽然看上去类似.但是他们的差别还是很大的.
      

  5.   

    你这是用B实现类 实现了 A接口里未实现的方法, new的时候 要用 接口 a = new 实现类 B
    这是java的规定   extends才是继承 
      

  6.   

    抛出去 咬文嚼字 ``  就是 有限制的继承``  Ex 接口的限制还是比较多的 不能有 类属性 只能有全局变量 或者常量  不能有私有方法` 而且只能由 abstract 方法组成 这都 限制了 接口的 应用地方  当然 接口 优点 可以多继承   类继承的缺点 仅仅是接口的优点  这就是区别而不在于是否继承!!
      

  7.   

    继承与接口的区别:
                      在java 中继承是使用 Extends  super  接口定义使用interface  实现接口使用implement  interface。
                     子类继承超类  可选着性的覆盖方法,接口里面全是abstract  属性与方法  所以必须全部实现覆盖!接口是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。
                       子类只能继承一个父类  但是能实现多个接口。接口中的属性都是常量。
          
      

  8.   

    那我估计要看怎么理解了,如果接口中定义了静态变量,类实现了这个接口,你可以说类实现了接口中的抽象方法,但你不能说类也实现了接口中的变量,只能说从接口中继承了变量,这就跟讨论java中到底有没有引用传递的问题一样,我个人感觉就是在咬文嚼字,英文的文档一般比中文的表达效果要好,言简意赅,什么就是什么,而不像中文的文档,容易引起歧义,虽然我的英文差的要死,但有时候还是喜欢看英文文档,特别是随软件包发布的帮助文档....个人愚见,还望海涵
      

  9.   

    A a=new B();
    这句话还是实例话的B,最终实现的还是B里的方法。