1.概述
多个类中存在相同的属性和方法时,可以将这些相同的内容抽取到一个类中,那么其余的类就可无需再定义被抽取的内容,可以通过继承那一个类来继承相对应的内容
其中,拥有抽取内容的类被称为父类,继承了父类的类被称为子类。子类拥有父类所有的属性与方法,并且可以直接访问父类中的非私有属性和方法
继承的好处:
(1)提高代码的复用性
(2)让类与类产生了关系,是多态的前提
2.如何继承
class 父类{....}
class 子类 extend 父类{......}
3.继承后的特点
(1)成员变量
如果子类与父类成员变量不重名,访问是没有任何问题的
如果子类与父类成员变量重名,可以使用关键字super来访问
public class Person {
int age = 5;
String name;
public void study(){
System.out.println("I like study!!");
}
}
public class Student extends Person{
public void showAge(){
System.out.println(age);
}
}
(2)成员方法
成员方法不重名,子类调用父类成员方法没有任何问题
成员方法重名,那么便是重写父类方法了
方法重写:子类中出现与父类一模一样的方法时(返回值类型,方法名和参数列表都相同),会出现覆盖效果,也称为重写或者复写。
(3)构造方法
子类的初始化过程中,必须先执行父类的初始化动作。子类的构 造方法中默认有一个 super()
,表示调用父类的构造方法
4.super与this的含义
super:是父类的存储空间标识
this:谁调用就代表谁
以子类的初始化过程中,必须先执行父类的初始化动作。子类的构
造方法中默认有一个
super()
,表示调用父类的构造方法
5.继承的特点
(1)仅支持单继承,不支持多继承
一个类不能有多个父类
(2)支持多层继承
A继承B,B继承C
(3)子类与父类是一种相对关系