当前位置:编程学习 > JAVA >>

一个类实现一个接口 算不算继承

比如 



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对象的啊 
这跟继承有什么区别 --------------------编程问答-------------------- 这一点概念是很类似,就好像B被赋予了A的类型身份标签

除此之外,就算主要继承了A的抽象行为概念(没有实体) --------------------编程问答-------------------- 接口的子类 必须实例化 --------------------编程问答--------------------
引用 1 楼 dracularking 的回复:
这一点概念是很类似,就好像B被赋予了A的类型身份标签

除此之外,就算主要继承了A的抽象行为概念(没有实体)
+++++++++ --------------------编程问答-------------------- 多态的一种表现,跟继承还是有很大差别的 --------------------编程问答-------------------- 不算吧 --------------------编程问答-------------------- 不算继承 --------------------编程问答--------------------
引用 4 楼 jike316 的回复:
多态的一种表现,跟继承还是有很大差别的


+1 --------------------编程问答-------------------- 很不相同。实现接口,就必须覆盖实现接口的方法。而继承就不一定。
而且接口和类本身就有区别。
“继承”与“实现接口”在java里面是面向对象的两种实现方式,“继承”在java里面只支持单一继承,而“实现接口”可以实现多个接口,而java里一般是推荐后者的
--------------------编程问答-------------------- 实现接口与继承的父类有抽象方法感觉有点相似…… --------------------编程问答-------------------- 也可以算是继承,因为实现接口本来就是Java为了实现多继承的功能而做的,只是为了减少像C++中多继承带来的麻烦而定义出来的 --------------------编程问答-------------------- 不算!
四种状态 多态和继承是分开的! --------------------编程问答-------------------- 继承可以不实现其中的方法,但是实现类必须实现其中的方法,但是接口貌似不能被实体类继承,可以被抽象类继承 --------------------编程问答-------------------- 不算..接口是实现 --------------------编程问答--------------------
引用 13 楼 leehomwong 的回复:
不算..接口是实现

是的呢 --------------------编程问答-------------------- 多态吧 --------------------编程问答-------------------- --------------------编程问答-------------------- 不算.java的三个特性:封装.继承.多态.

其中你这个帖子明显是把继承和多态混淆了.

虽然看上去类似.但是他们的差别还是很大的.

--------------------编程问答-------------------- 不算,叫实现 --------------------编程问答-------------------- 你这是用B实现类 实现了 A接口里未实现的方法, new的时候 要用 接口 a = new 实现类 B
这是java的规定   extends才是继承  --------------------编程问答--------------------
引用 18 楼 jj_magical 的回复:
不算,叫实现

同意 --------------------编程问答--------------------

抛出去 咬文嚼字 ``  就是 有限制的继承``  Ex 接口的限制还是比较多的 不能有 类属性 只能有全局变量 或者常量  不能有私有方法` 而且只能由 abstract 方法组成 这都 限制了 接口的 应用地方  当然 接口 优点 可以多继承   类继承的缺点 仅仅是接口的优点  这就是区别而不在于是否继承!! --------------------编程问答-------------------- 个人认为不算 --------------------编程问答-------------------- 两个确实很类似,属于多态的一种情况
引用 2 楼 yiliang1990 的回复:
接口的子类 必须实例化

子类也可以有自己的方法, --------------------编程问答-------------------- 楼主要理解接口和类在概念上得区别 --------------------编程问答--------------------
引用 10 楼 inhibitory 的回复:
也可以算是继承,因为实现接口本来就是Java为了实现多继承的功能而做的,只是为了减少像C++中多继承带来的麻烦而定义出来的

+1 --------------------编程问答-------------------- 继承与接口的区别:
                  在java 中继承是使用 Extends  super  接口定义使用interface  实现接口使用implement  interface。
                 子类继承超类  可选着性的覆盖方法,接口里面全是abstract  属性与方法  所以必须全部实现覆盖!接口是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。
                   子类只能继承一个父类  但是能实现多个接口。接口中的属性都是常量。
       --------------------编程问答-------------------- --------------------编程问答-------------------- 不算,你最好看一下书. --------------------编程问答-------------------- 一个名字有那么好纠结么?只要知道接口的作用是什么,该如何使用,为什么要使用就可以了,至于是不是继承那有何妨? --------------------编程问答-------------------- 知道怎么用在哪儿用就行,个人觉得不算,接口可以继承接口 --------------------编程问答-------------------- 那我估计要看怎么理解了,如果接口中定义了静态变量,类实现了这个接口,你可以说类实现了接口中的抽象方法,但你不能说类也实现了接口中的变量,只能说从接口中继承了变量,这就跟讨论java中到底有没有引用传递的问题一样,我个人感觉就是在咬文嚼字,英文的文档一般比中文的表达效果要好,言简意赅,什么就是什么,而不像中文的文档,容易引起歧义,虽然我的英文差的要死,但有时候还是喜欢看英文文档,特别是随软件包发布的帮助文档....个人愚见,还望海涵 --------------------编程问答-------------------- 接口本身是一个抽象的类 但从严格意义上来讲 接口更加灵活 楼主没必要细究 --------------------编程问答-------------------- A a=new B();
这句话还是实例话的B,最终实现的还是B里的方法。
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,