我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:彩66彩票 > 多态 >

子类对象调用父类方法算不算重载?

归档日期:08-05       文本归类:多态      文章编辑:爱尚语录

  另外能说说重载有哪些形式吗? 不嫌烦的话再解释一下多态有哪些表现形式。 3Q 以上问题基于JAVA语言

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  三大特性:封装(把属性和方法都放到一个类中,然后类创建对象,这样对象就集成了属性和方法)、继承(你问的问题,下面详细说明)、多态(下面也详细说一下)

  子类不继承父类的构造方法,如果需要在子类内部使用和父类传入参数一样的构造方法,则需要在子类内部重新声明这些构造方法。

  子类类型的对象可以自动转换为父类类型的对象,父类类型的对象则需要强制转换为子类的对象,转换的语法个基本数据类型转换的语法相同。

  所以你直接调用父类方法,其实子类自己也有,没有自己重新写一个,当然不算重写,另外你说的重载,说明一下两者分别:

  重载是在同一个类中的两个或两个以上的方法,拥有相同的方法名,但是参数却不相同,方法体也不相同,最常见的重载的例子就是类的构造函数,可以参考API帮助文档看看类的构造方法

  对象类型的多态是指声明对象的类型不是对象的真正类型,而对象的真正类型由创建对象时调用的构造方法进行决定。按照继承性的说明,子类的对象也是父类类型的对象,可以进行直接赋值。

  对象方法的多态基于方法的覆盖,也就是该对象调用的方法具体是子类的方法还是父类的方法,由创建对象时使用的构造方法决定,而不是由声明对象时声明的类型决定。

  二是重载对返回类型,访问修饰符,异常声明没有任何限制,可以作任意的修改。实质上,重载只是创建了一个方法而已,特殊的地方在于方法的名字。

  (1)重写方法必须和被重写方法具有相同的参数列表,返回类型必须和被重写方法的返回类型相同或者是返回类型的子类型。

  (2)重写方法的访问控制修饰符不能比被重写方法更严格(比如一个在父类中声明为public的方法重写成一个protected的方法)。

  (4)重写方法不能抛出新的检查异常,或者是抛出比被重写方法声明的检查异常更广泛的检查异常。

本文链接:http://chapmanswifts.com/duotai/883.html