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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wowo6288 中级黑马   /  2014-6-8 11:27  /  3229 人查看  /  12 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 wowo6288 于 2014-6-18 22:03 编辑

这两天看到这个问题,目前都还觉得有点迷惑,有说接口与Object是并行的关系,也有说接口是继承Object的因为用接口可以调用toString方法,有点迷惑

12 个回复

倒序浏览
值得思考,但是觉得意义不大,因为接口不可能单独的存在,他的作用不就是让子类去实现么?任何类实现了接口自然就是Object的子类了,如有不足,请大家指教~~
回复 使用道具 举报 1 0
很有见地的问题,不过根据API上面,接口应该不继承Object,接口中的方法必须全部是共有抽象的,所以不应该
回复 使用道具 举报
我觉得二楼说的很有道理,没有被实现的接口,我觉得它的存在是没有意义的,什么也解决不了~
回复 使用道具 举报
值得思考下的问题,个人觉得不应过于纠结于此,实现接口才有意义
回复 使用道具 举报
我觉得接口与类是并行的关系,这种说法是正确的。
因为学习接口的时候,明确定义过,接口不是类,接口就是接口。我的理解是,接口是一种特殊的类,特殊到已经不能再称之为类,所以改名叫接口。总结来说,接口不是类。
toString方法可以被重写,但是由于上面说的原因,并不能说接口是类。其实这是一个定义的问题,定义这样的一个东西叫做接口,就行定义狼狗是狗,他就不是狼了,只能叫做狼狗……
回复 使用道具 举报
一般扩展功能定义在接口中,基本功能定义在类中。我们都知道接口中的方法都是抽象的,子类必须实现的。如果接口是继承Object的话,那么接口中就会有所有的Object中的方法,而且是抽象的。
但Object中的方法并不是抽象的。
这就自相矛盾了。
显示接口不是继承Object类。
回复 使用道具 举报
接口是否继承Object不重要, 实现类肯定是继承Object,所以所有的【实现类.toString()】是没有问题的。我从某些书中看到:一个Java接口如果没有父接口,则该接口内隐形的声明了object类所有方法对应的抽象方法头。
回复 使用道具 举报 0 1
唐坚 发表于 2014-6-8 15:33
一般扩展功能定义在接口中,基本功能定义在类中。我们都知道接口中的方法都是抽象的,子类必须实现的。如果 ...

貌似分析有误哦,子类是可以用抽象方法去override父类的方法的,也就是说父类中的方法是可以被子类中抽象方法覆盖的,如有不对,请指教~~
回复 使用道具 举报
shisishishisi 发表于 2014-6-8 16:34
貌似分析有误哦,子类是可以用抽象方法去override父类的方法的,也就是说父类中的方法是可以被子类中抽象 ...

恩 我忘了复写了  谢啦
回复 使用道具 举报
Object类是Java体系的单根父节点,所有Java类都从Object类继承。还有interface和类是不同的,interface只能继承interface,而不能继承任何类。
回复 使用道具 举报
接口不属于类
所有类都是Object类的子类
回复 使用道具 举报
这个问题同二楼,纠结起来意义并不大。Object是所有对象的基类。而接口的存在是为了定义一个公共的规则,便于开发和后期维护,一般来说都要有对应的实现类,就算暂时没有实现类也是为了后期功能扩展而存在的,而接口的实现类自然是object的子类。  而关于接口本身是不是object的子类这个问题,网上貌似有人做过测试,结论是“不是”
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马