Java继承
开发工具与关键技术: MVC
作者:汤池
撰写时间:2022/7/18
继承的本质是对某一批类的抽象
extands的意思是 扩展 。 子类是父类的扩展
JAVA中类只有单基础,没有多继承!,一个儿子只能有一个爸爸,但是一个爸爸 可以有多个儿子
继承 是类和类的关系 除此之外还有 依赖,组合,聚合 等
继承关系的两个类
子类(派生类) 父类(基类) 子类继承父类 用extends表示
在Java中,所有的类都默认直接或间接继承object类
私有的无法被继承,无法通过super来调用
学生 (派生类 子类) is 人 学生 子类 extends 继承 人 父类(基类)
子类继承了父类,就会拥有父类的全部方法
私有private的无法继承,如果不写则是default
子类会默认调用父类的无参构造super();
public Student(){
//如果要调用父类的有参构造器,必须在super中显性的写出来,否则就是默认的调用父类的无参构造器
super();//调用父类的构造器,必须在子类构造器的第一行,要么调用子类,要么调用父类
System.out.println("Student子类无参构造器");
}
1.方法名必须相同
2.参数列表必须相同
3.修饰符:范围可以扩大,但是不能缩小 public> protected >default >private 4.抛出的异常:范围可以被缩小,但不能扩大: ClassNotFoundException(找不到类) --> Exception(大)
为什么需要重写:
1.父类的功能,子类不一定需要,或者不一定满足! Alt+ Insert 选择override 或者Ctrl +o重写方法 Ctrl+H 显示继承关系
super注意点
1.super调用父类的构造方法,必须在构造方法的第一个
2.super必须只能出现在子类的方法或者构造方法中!
3.super和this 不能同时调用构造方法!
this 代表的对象不同: this:本身调用者这个对象 super:代表父类对象的引用 前提 this:没有继承也可以使用 super:只能在继承条件下才可以使用 构造方法 this();本类的构造 super():父类的构造