Java用关键字extends表示继承,代替了C++中的冒号(:)。在Java中,所有的继承都是公有继承,没有C++中的私有继承和保护继承。
关键字extends表明正在构造的新类派生于一个已存在的类。已存在的类成为超类、基类或父类;新类称为子类、派生类或孩子类。超类和子类是Java程序员最常用的两个术语。
this 和 super
super不是一个对象的引用,不能将super赋给另外一个对象变量,它只是一个指示编译器调用超类方法的特殊关键字。
用途
this的两个用途:
- 引用隐式参数
- 调用该类的其他构造器
super的两个用途:
- 调用超类的方法(包括被子类隐藏的父类同名成员变量,调用子类覆盖的父类同名成员方法),语法格式如下:
super.成员变量 //当子类隐藏父类成员变量时,引用父类同名成员方法
super.成员方法 //当子类隐藏父类成员方法时,引用父类同名成员方法
注:super将当前对象作为父类的一个实例引用
静态方法中不能使用super引用
2. 调用超类的构造器
多态
多态(ploymorphism)意为一个名字可具有多种语义,即一个对象变量可以指示多种实际类型的现象。
动态绑定——在运行时,能够自动地选择调用哪个方法的现象。、
多态性——“一种定义,多种实现”、例如,究竟执行哪种运算取决于参加运算的操作个数及数据类型。
阻止继承 final类和方法
定义:阻止人们利用某个类定义子类。不允许扩展的类称为final类。如果在定义的时候使用了final修饰符就表明这个类是final类。