java中方法重写时,子类返回类型不能大于父类,这句话只针对类类型吗?
基础类型intlong之流不算是吗.....今天试了一下,父类方法返回long子类返回int报错...说是返回类型不匹配...
基础类型int long之流不算是吗.....
今天试了一下,父类方法返回long子类返回int报错...说是返回类型不匹配 展开
今天试了一下,父类方法返回long子类返回int报错...说是返回类型不匹配 展开
3个回答
展开全部
子类重写父类方法 返回类型必须与被重写方法的返回类型相同。
A、重写规则之一:
重写方法不能比被重写方法限制有更严格的访问级别。
B、重写规则之二:
参数列表必须与被重写方法的相同。
C、重写规则之三:
返回类型必须与被重写方法的返回类型相同。
D、重写规则之四:
重写方法不能抛出新的异常或者比被重写方法声明的检查异常更广的检查异常。但是可以抛出更少,更有限或者不抛出异常。
A、重写规则之一:
重写方法不能比被重写方法限制有更严格的访问级别。
B、重写规则之二:
参数列表必须与被重写方法的相同。
C、重写规则之三:
返回类型必须与被重写方法的返回类型相同。
D、重写规则之四:
重写方法不能抛出新的异常或者比被重写方法声明的检查异常更广的检查异常。但是可以抛出更少,更有限或者不抛出异常。
更多追问追答
追问
不会就蹲在墙角和我一样等答案,瞎答什么,不嫌丢人?
追答
说我不会,自己基础不行也不虚心点。
子类重写父类方法是会覆盖父类的方法,必须要返回类型一致,返回类型不同就不叫方法重写了,那就是重新写一个新的方法。
long和int分别是两种基础类型,之间又没有继承关系,根本不是同一类型,当然不行了
展开全部
其实你把俩方法写在同一类中也不行,或者说,父类int子类long也不行。也就是说,这已经不是继承和重写的问题了,而是,方法名和参数类型相同的返回类型分别为long和int的方法之间会存在矛盾吧。因为子类继承父类,所以相当于有父类中long方法,而自己又写了一个int方法,相当于子类中有俩方法,而这俩不能同时存在。其实不是继承或重写的问题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不管回答者是否回答到提问者的点上,提问者的态度都非常有问题。我觉得,别人给你解答是出于好心,就算是去网上粘贴的答案,别人觉得问的就是搜得到的问题,粘贴一下又有什么呢。最后,子类中方法的返回值类型可以是被重写方法类型的子类型。给上一个回答者一个赞。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询