继承(extends)面向对象三大特征之一

类中有许多相同的属性和方法,代码重复,如果需要修改涉及较多类修改量增多

将子类中共有的属性和方法提取到父类,让子类继承父类,减少代码量,扩展性维护性,子类可通过super(构造方法)调用父类属性,列super.sethealth(99)

重写:

由来:当子类中的属性和方法父类不能满足时,则可以对父类的同名方法进行重写(覆盖)以满足子类的需求

必须满足的条件:重写方法和被重写方法的方法名相同,参数列表相同,返回值类型相同或是其子类,重写方法不能小于被重写方法的权限(直接相同就行)

重载(overloading)和重写(overriding)有什么区别和联系?

答:重载涉及同一个类中的同名方法,要求方法名相同,参数列表不同,与返回值类型和修饰符无关。
重写涉及的是子类和父类之间的同名方法,要求方法名相同、参数列表相同、返回值类型相同(或是其子类)、访问修饰符不能严于父类。

子类运用super.方法名来调用父类被重写的方法 | super出现在子类的方法和构造方法中,不是其他位置

super.属性名(调用父类的属性)   super.方法名(调用父类的方法 )   super(构造方法参数)  只能出现在子类的构造方法中

抽象类:

父类实例化对象没什么用处,限制父类实例化

抽象类和抽象方法的特点:

abstract修饰的类和方法成为抽象类和抽象方法

抽象类不能被实例化,抽象方法子类必须重写

抽象类中可以有0到多个或全部都是抽象方法

抽象方法只有方法声明,没办法实现,有抽象方法的类必须声明为抽象类,子类必须重写所有的抽象方法才能被实例化,否则这个子类还是一个抽象类

继承条件下构造方法调用规则:

如果在子类的构造方法中没有显示调用父类有参的构造方法,则将执行父类的无参构造方法

如果子类的构造方法中通过super显示调用父类的有参构造方法,则会执行父类的有参构造方法,不执行父类的无参构造方法

如果父类的构造方法中通过this显示调用自身的其它构造方法,则应在相应构造方法中应用以上两条规则

abstract和final关键字的运用

abstract用来修饰类和方法,不能用来修饰属性和构造方法(abstract修饰的方法其类必须是抽象类,抽象方法子类必须重写)

final用来修饰类,方法,和属性,不能修饰构造方法(final修饰的类不能被继承,final修饰的属性和方法不能改动)

java第二章继承的更多相关文章

  1. ASP.NET自定义控件组件开发 第二章 继承WebControl的自定义控件

    原文:ASP.NET自定义控件组件开发 第二章 继承WebControl的自定义控件 第二章 继承于WebControl的自定义控件 到现在为止,我已经写了三篇关于自定义控件开发的文章,很感谢大家的支 ...

  2. “全栈2019”Java第二章:安装JDK11(Windows)

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 文章原文链接 "全栈2019"Java第二章:安装JDK11(Windows) 下一 ...

  3. [Effective Java]第二章 创建和销毁对象

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  4. Java第二章----对象和类

    从第一章到第二章整整隔了一个月的时间,这速度也是慢的无语了.因为这个月负责开发公司一个SaaS类型APP,忙的昏天暗地终于上线了,这才有时间写个博客.本章还是以概念为主,有点枯燥重在理解. 第一节:对 ...

  5. Java 第二章 变量

    第二章 变量 变量称为:是计算机语言中能储存计算机结果或能表示值抽象概念 .变量可以通过变量名访问 int money ; //变量 money=1000; //赋值 int money=1000: ...

  6. Java 第二章 变量、数据类型和运算符

    第二章      变量.数据类型和运算符 什么是变量: 变量代表一块内存区域,变量类型不一样,这一块内存的大小也不一样. #在编程语言里面,你可以通过定义变量,向内存里添加数据或者修改内存已有的数据. ...

  7. Java OOP——第二章 继承

    1. 继承: ●继承是面向对象的三大特征之一,是JAVA实现代码重用的重要手段之一: ●继承是代码重用的一种方式,将子类共有的属性和行为放到父类中: ●JAVA只支持单继承,即每一个类只有一个父类,继 ...

  8. 对于所有对象都通用方法的解读(Effective Java 第二章)

    这篇博文主要介绍覆盖Object中的方法要注意的事项以及Comparable.compareTo()方法. 一.谨慎覆盖equals()方法 其实平时很少要用到覆盖equals方法的情况,没有什么特殊 ...

  9. 如何创建和销毁对象(Effective Java 第二章)

    最近有在看Effective Java,特此记录下自己所体会到的东西,写篇博文会更加的加深印象,如有理解有误的地方,希望不吝赐教. 这章主题主要是介绍:何时以及如何创建对象,何时以及如何避免创建对象, ...

随机推荐

  1. java8与函数编程资料

    Functional programming Java 8 idioms Java SE 8's new Streams API Spring 技术布道师 Josh Long 来华:用 Show 代码 ...

  2. String.format()的使用

    参考文章: https://www.cnblogs.com/Dhouse/p/7776780.html 其中System.out.printf()的用法可参考:https://blog.csdn.ne ...

  3. glide 长方形图片显示圆角问题

    目前业务是RecyclerView嵌套RecyclerView,子RecyclerView里面显示图片,图片显示方式又分为 多图和单图显示方式(这个是已经调试好的效果) 测试显示结果只有单张图片不显示 ...

  4. three.js:使用createMultiMaterialObject创建的多材质对象无法使用光线跟踪Raycaster选中

    创建多材质对象: var loader = new THREE.DDSLoader(); var map = loader.load('../assets/textures/Mountains_arg ...

  5. node vue

    官网 ECMAScript 6 Node.Js WebPack Vue.js Vuex Vue-loader (类比css-loader,是webpack中用于处理.vue文件的) vue-route ...

  6. vue 路由参数

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. html5编写软件哪个好?八款html5编写软件推荐

    随着各大浏览器对HTML5技术支持的不断完善,未来HTML5必将改变我们创建Web应用程序的方式.而很多html5的初学者都想找一款好用的编写软件,这里主机吧就给大家推荐七款好用的html5编写软件. ...

  8. css常见布局问题

    1.如何实现一个盒子在页面中上下左右居中 方法一:(盒子宽高固定时) .box{ width:400px; height:200px; background:#000; position:absolu ...

  9. Oracle 归档日志文件

      今天数据群有人反应网站不能正常打开,经检查Oracle数据库远程连不上,提示信息:ORA-00257: archiver error. Connect internal only, until f ...

  10. DLC 基本定律与规则

    字母数字码 :除了数字以外,数字系统还需要处理数字以外的符号,如标点符号,控制命令等 最常见的是ASCII ASCII码是7位二进制码有128种组合,表示128个符号例如 二进制表示 十六进制表示 十 ...