继承的定义与使用
一:继承的定义
继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
继承是java中第二大重要的特性,极其重要。
二:继承的实现
class 子类名称 extends 父类名称
class 父类 {
}
class 子类 extends 父类 {
}
子类继承父类所有数据 , 属性 , 操作(
private修饰的属性和方法也会被继承,但是并不能被调用,除非父类提供了修改或调用属性的public方法)。
继承的子类也可以看作是对父类的扩充 , 这在本质上就是提高了代码的重用性 。继承的目的(扩展和代码重用)
三:继承使用限制
继承本质上可以接受父类的所有操作(final 修饰的属性和方法除外 构造方法不能被继承只能被调用) , 但是也是有限制的 。
实例化子类时,首先执行实例化父类的操作
在子类的无参构造方法中 存在super()函数(该函数系统自动补充不过推荐都写养成良好的习惯),表示调用父类的无参构造函数;这就要求父类必须存在无参的构造函数
当然super( int a)代表了有参数的父类构造 。
java不允许多重继承 但是允许多层继承
所有的非private操作是显式继承 直接调用
所有的private操作是隐式继承 通过其他形式调用四:一些关键字
super 与 this 关键字
super关键字:我们可以通过super关键字来实现对父类成员的访问,用来引用当前对象的父类。
this关键字:指向自己的引用。
final关键字:
final 关键字声明类可以把类定义为不能继承的,即最终类;或者用于修饰方法,该方法不能被子类重写:
final class 类名 {//类体}
修饰符(public/private/default/protected) final 返回值类型 方法名(){
//方法体
}
继承关键字
继承可以使用 extends 和 implements 这两个关键字来实现继承,而且所有的类都是继承于 java.lang.Object,当一个类没有继承的两个关键字,则默认继承object(这个类在 java.lang 包中,所以不需要 import)祖先类。
extends关键字
在 Java 中,类的继承是单一继承,也就是说,一个子类只能拥有一个父类,所以 extends 只能继承一个类。
implements关键字
使用 implements 关键字可以变相的使java具有多继承的特性,使用范围为类继承接口的情况,可以同时继承多个接口(接口跟接口之间采用逗号分隔)。
注意:父类的静态方法被继承后不能被覆盖 , 子类中重新定义后, 父类的该静态方法被隐藏 , 可以使用父类名称 . 静态方法名()调用被隐藏的静态方法 。
记录时间:(2017年04月07日 18:55 继承很重要五颗星)