5继承(extends)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了5继承(extends)相关的知识,希望对你有一定的参考价值。
继承主要目的是提高代码的复用性,但是只有在类与类之间有所属关系的时候才能继承,不能为了获取其他类的功能而继承,Java中只有单继承,不支持多继承,但可以多层继承
当父类中定义了相同的功能,内容不同时,子类对象不确定调用哪一个,容易带来安全隐患,所以不支持多继承。
一、方法的重写
1、当子类和父类有一样的方法时,对象会调用子类的方法,称为方法的重写
2、重写父类方法时,方法必须一致,包括参数和返回值类型
3、只有子类的权限大于或等于父类时,才能对父类方法重写
二、继承中的构造方法
1、继承后,子类可以直接调用父类的方法,所以子类对象建立时需要对父类的数据进行初始化
2、子类的构造函数中会默认调用父类中空参数的构造函数即 super(),当父类中没有空参数的构造函数时,需要手动设置super()用来初始化父类数据
3、this()或super()只能放在构造函数的第一行,所以子类至少有一个构造函数访问父类
三、抽象(abstract)
1、当多个类出现相同功能时,功能主题不同,这时可以向上抽取,只抽取定义,不抽取主题。
2、类与方法必须由关键字abstract修饰
3、抽象方法一定要放在抽象类中,但抽象类可以不定义抽象方法(不让建立对象)
4、抽象类不可以建立对象,抽象的方法没有意义
5、抽象类方法要使用需要子类,需用子类复写父类所有抽象方法,建立子类对象使用,如果只复写了部分抽象方法,则还是抽象类。
以上是关于5继承(extends)的主要内容,如果未能解决你的问题,请参考以下文章
从Vue.extend API了解到Object.create实现继承
java中如何使用接口继承(Extending Interfaces)
jQuery函数继承 $.extend, $.fn.extend
typescript继承 __extends = (this && this.__extends) || (function () { 代码解读