JAVA学习之继承和方法覆盖
一、继承
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.注意:
-私有方法不能继承,所以不能覆盖
-构造方法不能继承,所以不能覆盖
-静态方法不存在覆盖【多态之后解释】
-覆盖只针对方法,不针对属性
推荐阅读
-
JAVA学习之继承和方法覆盖
-
Java自学之路-Java基础教程-17:Java四大特性之继承性以及extends父类和子类
-
Java自学之路-Java基础教程-8:Java术语之成员变量和方法变量
-
java实现多线程的两种方式继承Thread类和实现Runnable接口的方法
-
java实现多线程的两种方式继承Thread类和实现Runnable接口的方法
-
Java文件操作之按行读取文件和遍历目录的方法
-
详解Java继承中属性、方法和对象的关系
-
Java文件操作之按行读取文件和遍历目录的方法
-
详解Java继承中属性、方法和对象的关系
-
day02 -> java基础大神进阶学习总结之19天(知识点全面覆盖,细节)