简单问题:求教extends和implements的顺序问题

createWang 2009-11-06 11:35:26
为什么一个java类一定要先extends再implements?
...全文
370 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Busing 2009-11-06
  • 打赏
  • 举报
回复
因为只能当继承,但是能多实现!

以后你要是还要实现其他的借口就直接在后面添加就好了比 找的extends ,在extends前面添加要方便那么一点点吧,哈哈哈哈哈

其实硬挨没什么原因,就是这样设计的,说不定在设计的时候就是我这个想法 哈哈哈哈
gao11811 2009-11-06
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zcl198715 的回复:]
很简单
跟你举个例子吧
interface A {
void fa();
}
class C implements A{
void fa() {...}
}

假如现在有类D,它需要实现接口A,也要继承类C,
当把extends放在前面,则类D会先继承C,再实现接口A,那么就不用再去实现fa()了,即
class D extends C implements A{
}
若将extends 放在implements后面,那就要实现fa()方法了,但又继承类C,类c中也可fa()方法,此时就会出现问题!
[/Quote]
直接继承c就行了吧
其实就概念来说,继承的作用在于代码重用,接口是为了抽象方法和代码重用,所以我认为接口,从机制上来说要从小的开始,可以没有继承直接接口,但不能先接口后继承,否则不符合逻辑
zcl198715 2009-11-06
  • 打赏
  • 举报
回复
很简单
跟你举个例子吧
interface A {
void fa();
}
class C implements A{
void fa() {...}
}

假如现在有类D,它需要实现接口A,也要继承类C,
当把extends放在前面,则类D会先继承C,再实现接口A,那么就不用再去实现fa()了,即
class D extends C implements A{
}
若将extends 放在implements后面,那就要实现fa()方法了,但又继承类C,类c中也可fa()方法,此时就会出现问题!
duzhonghua 2009-11-06
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 qrf0211 的回复:]
没考虑过
[/Quote]
真没考虑过
噢不 2009-11-06
  • 打赏
  • 举报
回复
没考虑过

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧