天天看点

关于JAVA的继承

关于继承的一些理解

JAVA具有四大特性:封装,继承,抽象,多态。

类的继承是指在一个现有类的基础上构建一个新类,构建出的这个类被称作子类,现有类被称为父类,子类会自动拥有父类所有可继承的属性和方法。子类对父类的继承使用extends关键字。继承的用处在于在避免冗长的重复代码的同时,让子类可以调用父类的方法、属性。应该注意的是,也是最基础的,子类可以调用父类,而父类不能调用子类。

继承有几种类型:默认,public、protected,private。在一个文件名中只能有一个public类型,并且public类名须与文件名相同。public类型可以被当前类,当前包,包部子类和外部包继承;protected为受保护类型,较比public类型来说,protected类型不能被外部包继承;默认类不书写任何关键字,它可以被当前包和当前类调用;private类型作为一个私有类型,只能为当前类所用。

下面整理成表,方便理解:

当前类 当前包 包外子类 外部包
public
protected
private
默认

final关键字:

final关键字可用来修饰类、变量和方法,具有“无法改变”或者“最终”的含义,被final修饰的类、变量和方法具有以下属性:

①final修饰的类不能被继承。(即不能够派生子类)

②final修饰的方法不能被子类重写。

③final修饰的变量(成员变量和局部变量)是常量,只能被赋值一次。

super关键字:

当子类重写父类的方法后,子类对象将无法访问父类被重写的方法发,这时候就会用到super关键字,用其来访问父类的成员。例如访问父类的成员变量、成员方法和构造方法。

下面介绍下super关键字调用父类的成员变量和成员方法。super关键字使用格式如下:

super.成员变量

super.成员方法([参数1,参数2,...])

使用super关键字调用父类的构造方法:格式如下:

super([参数1,参数2,...])

关于重写父类方法:

在继承关系中,子类会自动继承父类中定义的方法,但有时在子类中要对集成的方法进行一些修改,即重写。需要注意:子类中重写的方法要和父类被重写的方法具有相同的方法名、参数列表以及返回值类型。