继承作用:

基本作用:代码复用

重要作用:方法覆盖和多态机制

=============================================================================

什么时候需要方法覆盖(理解)

怎么进行方法覆盖(掌握)

方法覆盖的条件及注意事项(掌握)

===============================================================================

1、子类继承父类之后,当继承过来的方法无法满足当前子类的业务时,子类有权利对这个方法进行重新编写,有必要进行“方法的覆盖”。

  方法覆盖:Override//方法重写(重新编写)overwrite

将继承过来的方法进行了覆盖;

当子类对父类继承的方法进行“方法覆盖”之后。子类对象调用该方法的时候,一定执行覆盖之后的方法。

  方法重载:Overload。

当在一个类中,如果功能相似的话,建议将名字定义的一样,这样代码美观,并且方便编程。

  什么条件满足之后能够构成方法重载overload?

  条件一:在同一个类中

  条件二:方法名相同

  条件三:参数列表不同(个数、顺序、类型)

  在代码级别上,怎么编写构成了方法覆盖呢?

  条件一:两个类必须要有继承关系

  条件二:重写之后的方法和之前的方法,具有相同的返回类型、方法名相同、参数类型。

  条件三、访问权限不能更低、可以更高(这个先记住):

父类的方法权限要小于等于子类的重写之后方法,才可以编译通过。

  条件四:重写之后的方法不能比之前的方法抛出更多的异常,可以更少(这个先记住)

注意事项:(学习多态之后再次理解)

注意一:方法覆盖只针对于方法,和属性无关

注意二:私有方法无法覆盖

注意三、构造方法不能被继承,所以构造方法发也不能被覆盖

注意四:方法覆盖只是针对于实例方法,静态方法没有意义。

关于Object类中的to String方法

1、toString方法的作用:将”java“对象转换成”字符串的形式”。大多数的java类toString方法都是需要覆盖的,因为Object类中提供的toString()方法输出的是一个java对象的内存地址。

至于toString()方法怎么进行覆盖?

格式可以自己定义,或者听项目需求。

2、Object,类中的toString()方法的默认实现是什么?

toString:方法名的意思是转换成String

含义:调用一个java对象的toString()方法就可以将java对象转换成字符串的表示

3、那么toString()方法给的默认实现够用吗?(覆盖toString方法)

所以进行了方法覆盖

4、方法重载和方法覆盖有什么区别?

方法重载发生在同一个类中

方法覆盖是发生在具有继承关系的父子类之间

方法重载是在一个类中,方法名相同,参数列表不同

方法覆盖是具有继承关系的父子类,并且重写之后的方法必须和之前的方法一致:具有相同的返回类型、方法名相同、参数类型。

方法覆盖Override的更多相关文章

  1. 方法的覆盖(override)、重载(overload)和重写(overwrite)

    body { background-color: white } .markdown-body { min-width: 200px; max-width: 760px; margin: 0 auto ...

  2. c#和java中的方法覆盖——virtual、override、new

    多态和覆盖 多态是面向对象编程中最为重要的概念之一,而覆盖又是体现多态最重要的方面.对于像c#和java这样的面向对象编程的语言来说,实现了在编译时只检查接口是否具备,而不需关心最终的实现,即最终的实 ...

  3. JAVA - 请说明”static”关键字是什么意思?Java中是否可以覆盖(override)一个private或者是static的方法?

    请说明"static"关键字是什么意思?Java中是否可以覆盖(override)一个private或者是static的方法? "static"关键字表明一个成 ...

  4. 继承与多态 动手动脑3方法覆盖(override)”的要点

    方法覆盖(override)"的要点 方法覆盖要求子类与父类的方法一模一样,否则就是方法重载(overload)! 在子类中,若要调用父类中被覆盖的方法,可以使用super关键字. 以下子类 ...

  5. 方法覆盖(override)”的要点

    方法覆盖要求子类与父类的方法一模一样,否则就是方法重载(overload)!请自行编写代码测试以下特性:在子类中,若要调用父类中被覆盖的方法,可以使用super关键字. 结论:          在“ ...

  6. 方法重载(overroad)和方法覆盖(override)------java基础知识总结

    a.什么是方法重载?(同一个类中)方法重载是指在同一个类中,出现方法名相同,参数列表不同的情况. b.什么是方法覆盖?(子父类中)方法覆盖是指在子类中,出现和父类一模一样的方法声明的时候,会运行子类的 ...

  7. C#中隐藏(new)、方法重写(override)、重载(overload)的区别

    转自:http://www.cnblogs.com/glife/archive/2009/12/28/1633947.html 重载.重写和隐藏的定义: 重载:public string ToStri ...

  8. PHP面向对象编程——深入理解方法重载与方法覆盖(多态)

    什么是多态? 多态(Polymorphism)按字面的意思就是“多种状态”.在面向对象语言中,接口的多种不同的实现方式即为多态.引用Charlie Calverts对多态的描述——多态性是允许你将父对 ...

  9. PHP面向对象编程之深入理解方法重载与方法覆盖(多态)

    这篇文章主要介绍了PHP面向对象编程之深入理解方法重载与方法覆盖(多态)的相关资料,需要的朋友可以参考下: 什么是多态? 多态(Polymorphism)按字面的意思就是"多种状态" ...

  10. Java 方法覆盖和方法重载

    方法重载(overloaded),要求方法的名称相同,参数列表不相同. 方法覆盖(override),要求①方法名相同,②参数列表相同,③返回值相同 如果是方法覆盖,要注意以下几种情况: 1.子类方法 ...

随机推荐

  1. ChatGPT 助力开发人员改进代码的5个方式

    近年来,在软件开发中使用人工智能和机器学习变得越来越普遍.因此,开发人员开始转向像 OpenAI 的 ChatGPT 这样的工具来简化他们的工作,提高他们的工作效率.ChatGPT是一个由 OpenA ...

  2. 批量获取FreeSWITCH所有分机号及其密码

    前言 有次项目上需要获取所有FreeSWITCH注册分机的分机号和密码,就用python写了个小脚本来获取. 可以先把freeswitch/conf/directory/default/目录下的所有x ...

  3. CAJViewer卡的解决办法

    在做毕业设计时,使用了CAJViewer7.2版本的阅读器,使用起来非常卡,翻页总是不流畅,体验感极差. 最后实在受不了了,去百度了一下,在贴吧中看到了疑似解决方案,尝试了一下,真的不卡了.所以特此写 ...

  4. Android源码-生成系统签名文件

    一.生成keystore签名文件 android 源码目录build\target\product\security 取platform.pk8 platform.x509.pem放到一个目录下 生成 ...

  5. 05 地址解析协议ARP

    地址解析协议(ARP) ARP(Address Resolution Protocol)地址解析协议: 根据已知的IP地址解析获得其对应的MAC地址 ARP工作流程 1.HOST1 ARP缓存 HOS ...

  6. Java 设计模式实战系列—单例模式

    本文首发公众号:小码A梦 单例模式是设计模式中最简单一个设计模式,该模式属于创建型模式,它提供了一种创建实例的最佳方式. 单例模式的定义也比较简单:一个类只能允许创建一个对象或者实例,那么这个类就是单 ...

  7. 五分钟k8s实战-使用Ingress

    背景 前两章中我们将应用部署到了 k8s 中,同时不同的服务之间也可以通过 service 进行调用,现在还有一个步骤就是将我们的应用暴露到公网,并提供域名的访问. 这一步类似于我们以前配置 Ngin ...

  8. 微信Native支付(扫码支付)商户配置

    0.需要从商户平台获取/设置的配置 公众号appId 商户号 APIv3密钥 证书序列号 证书密钥 1.扫码登录商户平台 网址:https://pay.weixin.qq.com/ 2.确认已开通Na ...

  9. Shell 文件或目录操作符(-e、-d、-f、-r、-w、-x)

    操作符 操作符 含义-e 判断对象是否存在(Exist),若存在则结果为真-d 判断对象是否为目录(Directory),是则为真-f 判断对象是否为一般文件(File),是则为真-r 判断对象是否有 ...

  10. PHPStudy hosts文件可能不存在或被阻止打开及同步hosts失败问题

    在使用PHPStudy建站包时,有时会遇到同步hosts失败的问题,可能是因为hosts文件不存在或被阻止打开.这个问题通常可以通过以下几个步骤解决: 步骤一:检查hosts文件是否存在 首先,我们需 ...