继承的概念:
继承就是子类继承父类的特征和方法,使子类对象(对象)具有父类的实例域和方法。或子类从父类继承方法,使得子类具有父类相同的行为
类的继承方法:
class 父类 {
}
class 子类 extends 父类 {
}
继承类型:
继承的特性:
- 子类具有父类非private的属性和方法
- 子类可以有自己的属性和方法,即子类可以在父类的属性上进行扩展
- 子类可以用自己的方式实现父类的方法
- Java的继承是单继承,但是可以多重继承,单继承就是一个子类只能继承一个父类,多重继承就是,例如A类继承B类,B类继承C类,所以按照关系就是C类是B类的父类,B类是A类的父类,这是java继承区别于C++继承的一个特性
- 提高了类之间的耦合性(继承的缺点,耦合度高就会造成代码之间的联系越紧密,代码独立性越差)
继承关键字:
继承可以用extends和implements这两个关键字实现继承,所有的类都是继承于 java.lang.Object。当一个类没有继承的两个关键字,则默认继承object(这个类在 java.lang 包中,所以不需要 import)祖先类
extends关键字:
在java中,类的继承是单一继承,所以一个子类只能拥有一个父类,所以extends只能继承一个类
implements关键字:
implements关键字可以变相让java具有多继承的特性,使用范围为类继承接口的情况,可以同时继承多个接口(接口跟接口之间采用逗号分隔)
super和this关键字:
- super关键字:可以通过super关键字,来实现对父类成员的访问,用来引用当前对象的父类
- this关键字:指向自己的引用
final关键字:
final关键字声明类,可以把类定义为不能继承的,即最终类。或者用于方法,该方法不能被子类重写
- 声明类:
final class 类名 {//类体}
- 声明方法:
修饰符(public/private/default/protected) final 返回值类型 方法名(){//方法体}
构造器:
- 子类是不能继承父类的构造器(构造方法或构造函数),它只是调用(显式或隐式)
- 如果父类的构造器带有参数,则必须在子类的构造器中显式地通过 super 关键字调用父类的构造器并配以适当的参数列表
- 如果父类构造器没有参数,则在子类的构造器中不需要使用 super 关键字调用父类构造器,系统会自动调用父类的无参构造器