黑马程序员技术交流社区

标题: 继承和多实现的方式问题 [打印本页]

作者: 黄玉昆    时间: 2013-3-28 17:07
标题: 继承和多实现的方式问题
本帖最后由 黄玉昆 于 2013-3-28 17:20 编辑
  1. //类继承类,类实现接口,接口继承接口  
  2. class WuDong extends Sporter implements Smoking,learn extends Study//---------->这里报错了
  3. {  
  4.     //分别复写每个抽象方法  
  5.     public void play()  
  6.     {  
  7.         System.out.println("Wu Playing");  
  8.     }  
  9.     public void smoke()  
  10.     {  
  11.         System.out.println("Wu Smoking");  
  12.     }  
  13.     public void learn()  
  14.     {  
  15.         System.out.println("Wu Learning");  
  16.     }  
  17.     public void study()  
  18.     {  
  19.         System.out.println("Wu Studying");  
  20.     }
  21. }  
复制代码
我对上面的抽象类Sport和每个接口Smoking,Learn和Study的每个方法进行了覆写,为啥不能会报错,这里的第二个extends不是Learn继承了Study吗?还是说这样写,是让WuDong extends Study而导致的?

作者: 陈圳    时间: 2013-3-28 17:13
语法错误,你现在没用eclipse或Myeclipse吗?有提示的,就像从来没有人在定义类时这样写
class student extends person extends god一样。好像没意义的。
作者: 郑元皓    时间: 2013-3-28 17:14
我觉得你这样写就是多继承了。肯定报错的。
Smoking,learn extends Study你分别写到Smoking和learn接口去估计就不会了。你这样写的体系就是不对的。一个类后面不能出现两个extends的吧?
作者: 黄玉昆    时间: 2013-3-28 17:20
陈圳 发表于 2013-3-28 17:13
语法错误,你现在没用eclipse或Myeclipse吗?有提示的,就像从来没有人在定义类时这样写
class student ext ...

确实提示了,但是提示的是主函数的书写有问题,我只是不确定这样是不是多继承了,报错的话,应该就是因为这样写法是多继承了。谢谢
作者: 黄玉昆    时间: 2013-3-28 17:20
郑元皓 发表于 2013-3-28 17:14
我觉得你这样写就是多继承了。肯定报错的。
Smoking,learn extends Study你分别写到Smoking和learn接口去估 ...

嗯,没错,应该就是多继承了,确实是报错了。现在很确定就是多继承的原因,谢谢。
作者: 郑元皓    时间: 2013-3-28 17:53
黄玉昆 发表于 2013-3-28 17:20
嗯,没错,应该就是多继承了,确实是报错了。现在很确定就是多继承的原因,谢谢。 ...

嗯嗯。不用客气、帮你回答问题我也有很大的收获、




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