黑马程序员技术交流社区

标题: (复习心得)JAVA中多继承与多实现的区别 [打印本页]

作者: Faith_Yee    时间: 2014-9-30 10:06
标题: (复习心得)JAVA中多继承与多实现的区别
本帖最后由 Faith_Yee 于 2014-9-30 10:07 编辑

毕老师说在Java中多继承不能实现,因为子类多继承了别的类,如果多个父类中有相同的变量或者方法,子类要执行时不知道执行哪一个父类方法或者变量。
然而,毕老师又说,Java中可以多实现接口,那么多实现接口,子类就不会产生冲突了吗?带着疑问测试了以下代码:
  1. //多实现接口测试
  2. public class test1{

  3.         public static void main(String[] args) {
  4.                 // TODO Auto-generated method stub
  5.                
  6.                 C obj = new C();
  7.                 obj.show();

  8.         }

  9. }
  10. interface A
  11. {
  12.         void show();
  13. }
  14. interface B
  15. {
  16.         void show();
  17. }
  18. class C implements A,B
  19. {

  20.         public void show() {
  21.                 // TODO Auto-generated method stub
  22.                 System.out.println("S");
  23.         }
  24. }
复制代码
发现可以打印。
那么印证了结论,我也可以理解为当多实现接口时,反正接口的方法是抽象的,不带内容,如果有相同的方法,那么在重写的过程中也不用在意执行哪一个,因为方法不带内容,只是抽象方法而已。因此这就是Java提供多实现的原因



作者: FlyFish    时间: 2014-9-30 10:28
看不懂...




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2