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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 唐兴旺 中级黑马   /  2012-3-1 00:08  /  2847 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在此请教下,普通类继承接口,要实现接口中的全部方法,那抽象类继承接口,也需要实现接口中的所有方法吗

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

3 个回复

倒序浏览
本帖最后由 吕猛 于 2012-3-1 10:02 编辑

抽象类继承接口后,可以不全部实现接口的方法。因为抽象类无论如何都不能实例化。但是,需要被子类实现的时候,必须全部覆盖这个抽象类和接口中的所有抽象方法。
  1. interface Person
  2. {
  3.         public abstract void sleep();
  4.         public abstract void hahah();       
  5. }

  6. abstract class Student implements Person
  7. {
  8.         abstract void study();       
  9. }

  10. class Bachelor extends Student
  11. {
  12.         public void sleep()
  13.         {
  14.                 System.out.println("Hello sleep!");
  15.         }
  16.         public void hahah()
  17.         {
  18.                 System.out.println("Hello hahah!");
  19.         }
  20.         public void study()
  21.         {
  22.                 System.out.println("Hello study!");
  23.         }
  24. }

  25. class Demo
  26. {
  27.         public static void main(String[] args)
  28.         {
  29.                 Bachelor t = new Bachelor();
  30.                 t.sleep();
  31.                 t.hahah();
  32.                 t.study();
  33.         }
  34. }
复制代码
运行结果:

Hello sleep!
Hello hahah!
Hello study!

评分

参与人数 1技术分 +2 收起 理由
admin + 2

查看全部评分

回复 使用道具 举报
抽象类继承接口不用全部方法都实现。但是如果是这个抽象类的子类就得全部都实现。上面那个兄弟说的很好!
回复 使用道具 举报
接口本身就是一种抽象类。更为严格的抽象类
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马