继承是面向对象三大特征之一。可以使得子类具有父类的属性和方法,还可以在子类中重新定义,追加属性和方法。
public class 子类名 extends 父类名
父类也被称为基类、超类;子类也被称为派生类
继承的好处:提高代码的复用性,多个类相同的成员可以放到同一个类中;提高了代码的维护性,如果方法的代码需要修改,只需要修改一处即可;
继承的弊端:继承让类与类之间产生了关系,类的耦合性增强了,当父类发生变化时子类实现也不得不跟着变化,削弱了子类的独立性。
this关键字可以访问本类中的变量,代表本类对象的引用;super 代表父类存储空间的标识(可以理解为父类对象的引用); 访问构造方法和成员方法同理。
继承中构造方法的访问特点:
1、子类中所有的构造方法都会访问父类中无参的构造方法
(1)因为子类会继承父类中的数据,可能还会使用父类的数据。所以,子类初始化之前,一定要先完成父类数据的初始化
(2)每一个子类构造方法的第一条语句默认都是:super()
2、如果父类中没有无参构造方法,只有带参构造方法,怎么办?
(1)通过使用super关键字显示的调用父类带参构造方法
(2)在父类中自己提供一个无参构造方法——推荐此种方式
继承中成员方法的访问特点:
通过子类对象访问一个方法:(1)先在子类成员范围找(2)再在父类成员范围找(3)如果没有就报错,不考虑父亲的父亲
方法重写
子类中出现和了和父类中一模一样的方法声明;当子类需要父类的功能,而功能主体子类有自己特有的内容时,可以重写父类中的方法,这样,既可以沿袭父类的功能,又定义了子类特有的内容
@Override 十一个注解,可以检查重写方法的方法声明的正确性
私有方法private 不能被重写,父类私有成员方法子类是不能继承的
子类方法的访问权限不能更低(public > 默认 > 私有)
Java中类只能单继承,不支持多继承
Java中类支持多层继承
网友评论