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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. interface PCI
  2. {
  3.         public void open();
  4.         public void close();
  5. }

  6. class MainBoard
  7. {
  8.         public void run()
  9.         {
  10.                 System.out.println("mainboard run ");
  11.         }
  12.         public void usePCI(PCI p)//PCI p = new NetCard()//接口型引用指向自己的子类对象。
  13.         {
  14.                 if(p!=null)
  15.                 {
  16.                         p.open();
  17.                         p.close();
  18.                        
  19.                 }
  20.         }
  21. }


  22. class NetCard implements PCI
  23. {
  24.         public void open()
  25.         {
  26.                 System.out.println("netcard open");
  27.         }
  28.         public void close()
  29.         {
  30.                 System.out.println("netcard close");
  31.                 method();
  32.         }
  33.        
  34. }
  35. class SoundCard implements PCI
  36. {
  37.         public void open()
  38.         {
  39.                 System.out.println("SoundCard open");
  40.         }
  41.         public void close()
  42.         {
  43.                 System.out.println("SoundCard close");
  44.         }
  45. }
复制代码
这里面的NetCard  和SoundCard  都是用接口跟PCI连接的,如果我用继承可以吗?先不谈显卡声卡他们的现实意义能不能继承,纯粹看语句,如果换成继承的话,后面的也没问题啊,NetCard  和SoundCard  里面的open() 和close()不就相当于是对PCI里的函数的重写吗?
运行结果应该也都一样啊。

评分

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

查看全部评分

6 个回复

倒序浏览
当然可以换成继承啊,Java为什么会有接口这个东东呢?因为它不支持多重继承,也就是不能继承多个类,在你的程序中,PCI已经被抽象成为一个接口,它只能定义一些方法,而不会提供他的实现,那么如果你的PCI接口他自己也需要OPEN或者CLOSE的逻辑的话,你就不能定义他为接口了,什么声卡网卡的都需要继承PCI类才可以的!

评分

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

查看全部评分

回复 使用道具 举报
继承类,实现接口,你也可以把该接口改成一个抽象类,在这里是没有问题。不过没多大意义,老毕也说了,可以把接口看成一个抽象类。虽然接口跟类属于平行关系。在这里是没区别的。
回复 使用道具 举报
寻丶丶觅 发表于 2013-11-3 15:00
继承类,实现接口,你也可以把该接口改成一个抽象类,在这里是没有问题。不过没多大意义,老毕也说了,可以 ...

你技术分怎么这么多啊?
回复 使用道具 举报
李新辉 发表于 2013-11-3 15:16
你技术分怎么这么多啊?

多帮助其他人,回答的能讲出自己的观点,想法,感觉老师就会给分的。或者提一些问题,不过我喜欢回答别人的问题,不会的可以看别人的回答,掌握知识,会的你回答了,也巩固了自己,算是我的学习方法吧
回复 使用道具 举报
寻丶丶觅 发表于 2013-11-3 15:22
多帮助其他人,回答的能讲出自己的观点,想法,感觉老师就会给分的。或者提一些问题,不过我喜欢回答别人 ...

入学的分值组成在哪里  我一直 没找到…………
技术分只算25分是吧……
回复 使用道具 举报
李新辉 发表于 2013-11-3 15:45
入学的分值组成在哪里  我一直 没找到…………
技术分只算25分是吧……

我也不清楚哦 我入学还早呢 我报了传智基础班 准备再重学下基础
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马