JAVA继承

继承

1.1 继承的优点和弊端

优点:
1.提高代码的复用性(多个类相同的成员可以放到一个类中)
2.提高代码的维护性 (如果方法的代码需要修改、修改一处即可)
弊端:
1.继承让类与类之间产生了关系,类的耦合性增强了,当父类发生了变化时,子类实现也不得不跟着变化,消弱了子类的独立性。

1.2 什么时候使用继承?

1.继承体现的关系:is a
2.假设法:我有两个类A&B,如果他们满足A是B的一种或者B是A的一种,就说明他们存在继承关系,这个时候就可以考虑使用继承来体现,否则就不能滥用继承。

1.3 继承中变量的访问特点:

在子类方法中访问一个变量
1.子类局部范围找
2.子类成员范围找
3.父类成员范围找
4.如果都没有就报错(不考虑父类的父类)

1.4 super

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

1.5 继承中构造方法的访问特点

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

如果父类中没有无参构造方法,只有带参构造方法,该怎么办?
* 通过使用super关键字去显示的调用父类的带参构造方法。
建议父类要提供无参构造方法。

1.6 继承中成员方法的访问特点

通过子类对象访问一个方法
* 子类成员范围找
* 父类成员范围找
* 如果都没有就报错(不考虑父类的父类)

1.7 super内存图

1.8 方法重写

方法重写概述
* 子类中出现了与父类中一模一样的方法声明

方法重写的应用
* 当子类需要父类的功能,而功能主体子类有自己特有内容时,可以重写父类中的方法,这样即沿袭了父类的功能,又定义了子类特有的内容。

@Override
* 重写注解
* 可以帮助我们检查重写方法的方法声明的正确性

1.9 方法重写的注意事项
* 私有方法不能被重写(父类私有成员子类不能继承)
* 子类方法的访问权限不能比父类低

1.1.0 JAVA继承中的注意事项
* JAVA中类只支持单继承,不支持多继承
* JAVA中类支持多层继承 (即 C 继承 B,B 继承 A)

posted @ 2021-01-02 15:15  year12  阅读(121)  评论(0编辑  收藏  举报