欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JAVA学习之继承和方法覆盖

程序员文章站 2024-03-22 09:11:10
...

一、继承

1.继承是面向对象的三大特征之一,三大特征分别是:封装、继承、多态
2.继承的基本作用:代码复用,但是继承最重要的作用时,有了继承后才有了以后的“方法覆盖”和“多态机制”
3.继承语法格式:

[修饰符列表] class 类名 extends 父类名{
		类体= 属性 + 方法
}

4.java语言中的继承只支持单继承,一个类不能继承很多类,仅能继承一个类。C++中支持多继承。
5.关于继承的一些术语:
B类继承A类,其中:
A类称为:父类、基类、超类、superclass
B类称为:子类、派生类、subclass

6.在java中,子类继承父类都继承哪些数据呢?
-私有的不支持继承
-构造方法不支持继承
-其他数据都可以被继承

7.虽然java中只支持单继承,但是一个类可以间接继承其他类。例如:

C extends B{
}
B extends A{
}
A extends T{
}

C直接继承B类,但是C类间接继承T、A类

8.java语言中假设一个类没有显示的继承任何类,该类默认继承javaSE库中提供的java.lang.Object类

二、方法覆盖

回顾java中的方法重载
1.方法重载又称为Overload
2.方法重载什么时候使用?
当在一个类当中,方法完成的功能是相似的,建议方法名相同,这样方便 程序员编程,就像在调用一个方法一样,代码美观。

3.什么条件满足之后构成方法重载?
-在同一个类当中
-方法名相同
-参数列表不同:类型、顺序、个数

4.方法重载和什么无关
-和方法返回值类型无关
-和方法的修饰符列表无关

方法覆盖
1.方法覆盖又被称为方法重写,英语单词:override【官方】/overwrite
2.什么时候使用方法重写?
:当父类中的方法无法满足当前子类的业务需求,
子类有必要将父类中继承过来的方法进行重写。
这个重写编写的过程称之为方法重写/方法覆盖
3.什么条件满足之后方法会发生重写呢?
-方法重写发生在具有继承关系的父子类之间
-方法重写时:方法名相同,返回值类型相同,形参列表相同
-访问权限不能更低,可以更高
-抛出异常不能更多,只能更少
4.方法重写的时候尽量复制粘贴,不要编写,容易出错导致没有覆盖
5.注意:
-私有方法不能继承,所以不能覆盖
-构造方法不能继承,所以不能覆盖
-静态方法不存在覆盖【多态之后解释】
-覆盖只针对方法,不针对属性