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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© jiangweibin2573 中级黑马   /  2014-8-12 20:07  /  2712 人查看  /  15 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

如果一个类继承或者实现接口时候,必须实现所有的抽象方法吗?
我知道的是当我继承一个类,如果没有全部实现,那么我还是抽象类。
我想知道的是,如果一个类实现某接口的时候,一定要实现里面的所有抽象方法吗??

15 个回复

倒序浏览
如果一个类继承或者实现接口时候,必须实现所有的抽象方法吗?
答:只有在实现接口的时候才必须要实现全全部的方法,另外接口里面的全是都是抽象方法,而如果你继承的是抽象类,那么只有当你实现全部的抽象方法的时候才能创建对象并实例化;

我知道的是当我继承一个类,如果没有全部实现,那么我还是抽象类。
答:这句话稍微有点问题。当你继承的不管是什么类,你都不是抽象类,唯一的区别是,当你继承抽象类的时候你必须要实现里面的方法;

我想知道的是,如果一个类实现某接口的时候,一定要实现里面的所有抽象方法吗??
答:这是是的,必须实现所有的方法。

点评

详细解答  发表于 2014-8-12 20:55
回复 使用道具 举报
楼上都已经替你解答了,飘过....
回复 使用道具 举报
对,和抽象类一样
回复 使用道具 举报
J.twt 发表于 2014-8-12 20:30
如果一个类继承或者实现接口时候,必须实现所有的抽象方法吗?
答:只有在实现接口的时候才必须要实现全全 ...

我不实现接口中的所有方法,当个抽象类不行吗?我试了,我把实现接口的类定义为抽象类,也可以。这怎么解释呢?
回复 使用道具 举报
hejinzhong 发表于 2014-8-12 22:19
我不实现接口中的所有方法,当个抽象类不行吗?我试了,我把实现接口的类定义为抽象类,也可以。这怎么解 ...

抽象类中当然可以有抽象方法,但是你这样又有什么意义?单纯为了验证这个问题?开发中几乎用不到你这种情况
回复 使用道具 举报
实现接口不就是要用接口里面的方法,你把实现接口的类定义成抽象类还怎么去用它的方法。
回复 使用道具 举报
席杰 中级黑马 2014-8-13 12:38:39
8#
是的一定实现,否则报错。
回复 使用道具 举报
抽象类除外啊!
回复 使用道具 举报
抽象方法只能存在于抽象类或者接口中,而抽象类中既可以有抽象方法,又可以有非抽象方法。
因此子类若没有重写父类中所有的抽象方法,则子类(包含抽象方法)必须声明为抽象类。
回复 使用道具 举报
永恒星空 发表于 2014-8-13 12:35
实现接口不就是要用接口里面的方法,你把实现接口的类定义成抽象类还怎么去用它的方法。 ...

没说一定要用他建立对象啊
回复 使用道具 举报
继承自抽象类,如果不完全实现,自身就必须声明也是抽象类,而实现接口,则需要全部实现。
回复 使用道具 举报
❤如止水之絕境 发表于 2014-8-13 20:29
继承自抽象类,如果不完全实现,自身就必须声明也是抽象类,而实现接口,则需要全部实现。 ...

我实现接口,不全实现,做个抽象类不行吗?
回复 使用道具 举报
hejinzhong 发表于 2014-8-13 17:12
没说一定要用他建立对象啊

那定义类不就没有意义了吗?
回复 使用道具 举报
抽象类可以局部复写,但接口必须全部实现。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马