A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Renica 中级黑马   /  2013-6-7 11:57  /  2347 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 Renica 于 2013-6-7 14:17 编辑

这两个哪个是实现父类哪个是继承父类,求详解。

10 个回复

倒序浏览
extends是子类继承父类的关键字,继承父类之后,可以使用父类的方法,也可以复写父类的方法。
implements是一个类实现一个或者多个接口。接口的方法一般是空的,如果implements一个接口就必须实现这个接口的所有方法。
例子如:
  1. public interface UInterface {

  2.      void onDeviceRun(int id);
  3. }

  4. interface PInterface  extends UInterface {

  5.      void onOtherRun();

  6. }

  7. class Example implements PInterface{

  8.      void onDeviceRun(int id){

  9.      System.out.println(id+" PInterface");

  10. }

  11.     void onOtherRun(){

  12.    System.out.println("onOtherRun");

  13. }

  14. }

复制代码
回复 使用道具 举报
呵呵  这个问题我觉得你可以多看看书自己自己解决的;这可以说是Java最基本的语法了;

对于implementsts他是用来声明实现接口的,而extends是用来声明继承类的;
Java不允许多继承,也就是说extends后面只能声明一个要继承的类,但是Java的implements可以什么多个要实现的接口;Java用
这变相的实现了多继承;
回复 使用道具 举报
实际上你都可以理解为从父类继承  只不过有与Java是单继承体系  不能一次继承多个类  所以  弄了个单继承 多实现这种结构  implements是实现的父级别的接口   extends是继承父级别的类  

如果你是继承父级别的类 它里面的东西你就都可以拿来使用

如果你实现的是父级别的接口 它里面的东西只有声明 没有实现  所以 按照继承的想法  你是可以拿来用 但是 没有实现体  你咋用呢  所以 这个时候  实现接口就要强迫“继承”这个接口的类来实现他里面没有实现的方法 所以 术语上不叫继承接口  而叫实现接口(接口里面只是定义) 所以 用implements这个关键字 implement本身这个英文单词 就是“实现” “履行”的意思  由于 是 class A implements B(B为接口)  构成了主谓宾  所以 用implement的单数第三人称implements作为关键字
用extends不用extend做关键字也是一样的 由于(除了抽象类)正常的类 里面的方法都是有实现体的,所以  子类一继承,就可以拿来用。如果子类不喜欢父类的方法的实现体 就可以重写父类的方法 但是在继承体系中 这个父类的方法的重写不是必须的 是根据需求觉得定的   但是 接口的方法 由于没有方法体 不能使用 所以 实现这个接口的类必须实现了方法才能使用

评分

参与人数 1技术分 +1 收起 理由
刘凯 + 1 赞一个!

查看全部评分

回复 使用道具 举报
你这个 。。。  看视频!
回复 使用道具 举报
出质量贴啊,这种贴 最起码 发问的人是够呛拿到分的
回复 使用道具 举报
刘凯 发表于 2013-6-7 12:51
出质量贴啊,这种贴 最起码 发问的人是够呛拿到分的

凯子太扣了哈哈哈哈
回复 使用道具 举报
求质量贴,谢谢 !
回复 使用道具 举报
如果子类需要多继承就用实现接口来做,因为接口可以让java实现多继承!!
回复 使用道具 举报
孙百鑫 发表于 2013-6-7 13:39
凯子太扣了哈哈哈哈

要不整篇论坛都是 一句贴了。。
回复 使用道具 举报
implements一般是实现接口。
extends 是继承类。

接口一般是只有方法声明没有定义的,
那么java特别指出实现接口是有道理的,因为继承就有感觉是父类已经实现了方法,而接口恰恰是没有实现自己的方法,仅仅有声明,也就是一个方法头没有方法体。因此你可以理解成接口是子类实现其方法声明而不是继承其方法。
但是一般类的方法可以有方法体,那么叫继承比较合理。
引入包可以使用里面非接口的一切实现的类。那么是不是实现接口,这个你自己决定,如果想用到那么你不是实现,是不能调用这个接口的,因为接口就是个规范,是个没方法体的方法声明集合。我来举个例子吧:接口可以比作协议,比如我说 一个协议是“杀人”那么这个接口你可以用 砍刀去实现,至于怎么杀砍刀可以去实现,当然你也可以用抢来实现杀人接口,但是你不能用杀人接口去杀人,因为杀人接口只不过是个功能说明,是个协议,具体怎么干,还要看他的实现类。
那么一个包里面如果有接口,你可以不实现。这个不影响你使用其他类。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马