继承
2021-03-25 本文已影响0人
Amy木婉清
image.png
image.png
image.png
继承:(代码我虽然没有写,但是属于我)
1)作用:代码复用
2)通过extends来实现继承
3)超类(父类):所有派生类所共有的属性和行为
派生类(子类):派生类所特有的属性和行为
4)派生类继承超类后派生类具有:派生类+超类
5)一个超类可以有多个派生类
一个派生类只能有一个超类----------单一继承
6)继承具有传递性
7)Java规定构造派生类之前必须先构造超类
在派生类的构造方法中若没有调用超类的构造方法,
--------------则默认super()调用超类的无参构造方法
在派生类的构造方法中若调用了超类的构造方法
---------------则不再默认提供
注意:super()调用超类构造必须位于派生类构造的第一行
继承具有传递性图解:
image.png
泛化的过程(泛化即继承)
从程序的设计角度考虑叫泛化
从代码实现角度考虑叫继承
image.png
extends关键字
通过extends关键字可以实现类的继承
派生类(Sub class)可以继承超类(Super class)的成员变量及成员方法,同时也可以定义自己的成员变量和成员方法。
Java语言不支持多重继承,一个类只能继承一个超类,但一个超类可以有多个派生类
//超类
public class Person{
String name;
int age;
String address;
void sayHi(){
System.out.println("大家好,我叫"+name+",今年"+age+"岁了,家住"+address);
}
}
//学生类继承超类
public class Student extends Person{
String className;
void study(){}
}
//教师类继承超类
public class Teacher extends Person{
int salary;
void teach(){}
}
super:指代当前对象的超类对象
super用法:
1)super.成员变量名-------------访问超类的成员变量
2)super.方法名()------------------调用超类的方法
3)super()----------------------------调用超类的构造方法