什么是继承
继承,也叫泛化。是Java中面向对象的三大特点之一。它是子类自动共享父类属性和方法的一种机制。
继承的特点
1.通过关键字extends继承一个已有的类。
2.被继承的类称为父类(也叫超类、基类),新的类称为子类(也叫派生类)。
3.子类继承父类的所有属性和方法,同时也可以增加自己的属性和方法。
继承的语法格式:
【类修饰符】 class 子类名 extends 父类名
继承的好处
1.是编码更高效。
2.易维护。
3.代码的重用。
继承的规则
1.Java中只支持单继承,也就是说每个类只能有一个直接父类。
2.一个父类可以有多个子类。
3.子类继承父类的所有属性和方法。
子类实例化的过程
1.子类实例化时先实例化其父类,然后实例化子类。
2.要先调用父类的构造器,父类构造器执行完毕后,再执行子类的构造器。
super()作用:调用父类的构造器
1.只能出现在子类的构造器中,且必须是第一行。
2.super()中的参数,决定了调用父类哪个构造器。
3.如果子类构造器中没有出现super(),那么编译器会默认加上super(),即调用父类的空构造器,如果父类没有空构造器,编译器会提示错误。
this()作用:调用本类的构造器,只能写在构造器的第一行。
在同一个构造器中Super()和this()不能同时出现。
方法的覆盖(重写 override)
前提:必须要有继承或者实现。方法的重写发生在两个类中。这个前提是与方法的重载最最明显的区别。
方法覆盖的规则:
1.要求相同的方法名。
2.要求相同的参数列表。
3.要求相同的返回值类型。
4.子类覆盖方法的访问权限要不小于父类中被覆盖的访问权限。