• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

继承

开发技术 开发技术 3小时前 1次浏览

继承的概述
继承是面向对象三大特征之一。可以使得子类具有父类的属性和方法,还可以在子类中重新定义,追加属性和方法。
继承的格式
pulic class 子类名 extends 父类名{}
说明:父类,也被成为基类、超类
继承中子类的特点
子类可以有父类的内容
子类还可以有自己特有的内容

继承的好处和弊端
继承的好处
提高了代码的复用性(多个类的相同成员可以放到同一个类中)
提高了代码的维护性(如果方法的代码需要修改,修改一处即可)
继承的弊端
继承让类与类直接产生关系,类的耦合性增强了,当父类发送变化子类的实现也不得不跟着变化,削弱了子类的独立性
什么时候需要使用继承
继承体现的关系:is a
假设法:我有两个类A和B,如果他们满足A是B的一种,或者B是A的一种,就说明他们存在继承关系,就考虑用继承来体现,否则不能滥用继承
举例:苹果和水果,毛和动物

继承中变量的访问特点
在子类中访问一个变量,
首先子类局部范围找,
然后子类成员范围找,
再是父类成分范围在,
最后如果都没有就报错(不考虑父亲的父亲…)

super关键字
super关键字的用法和this关键字的用法相似
this:代表本来对象的应用
super:代表父类存储空间的标识(可以理解为父类对象的引用)

用法

this关键字
访问成员变量:this.成员变量;访问构造方法:this.构造方法(…);访问成员方法:this.成员方法(…);
super关键字
访问成员变量:super.成员变量;访问构造方法:super.构造方法(…);访问成员方法:super.成员方法(…);

继承中构造方法的访问特点
子类中所有的构造方法默认都会访问父类的无参构造方法,因为子类会继承父类的数据,可能还会使用父类的数据。所以子类初始化前,一定
要完成父类数据的初始化,每一个子类的构造方法的第一调语句默认都是:super()

如果父类中没有无参构造方法,只有带参构造方法,该怎么办?
方式1:通过使用super关键字去显示的调用父类的带参构造方法
方式2:在父类中资金提供一个无参构造方法
推荐:自己给出无参构造方法


程序员灯塔
转载请注明原文链接:继承
喜欢 (0)