暑假(3)

在程序中,继承描述的是事物之间的所属关系,通过继承可以使多种事物之间形成一种关系体系。

在Java中,类的继承是指在一个现有类的基础上去构建一个新的类,构建出来的新类称为子类,现有类称为父类。子类继承父类的属性和方法,使得子类对象(实例)具有父类的特征和行为。

在程序中,如果想声明一个类继承另一个类,需要使用extends关键字,语法格式如下:

                class 父类{

                        ......

                }

                class 子类 extends 父类 {

                        ......

                }

从上面可以看出,子类需要使用extends实现对父类的继承。

需要注意的是,Java中类的继承是单继承,即一个类只能有一个父类。但可以有多个类继承同一个父类。同时,一个类的父类可以再继承另一个父类,即多层继承。

子类拥有父类的所有属性和方法(除了private修饰的属性)从而实现了实现代码的复用。

除了继承父类的属性和方法,子类也可以定义自己的属性和方法。

重写

在继承关系中,子类会自动继承父类定义的方法,但有时在子类中需要对继承的方法进行一些修改,即对父类的方法进行重写。在子类中重写的方法需要和父类中被重写的方法具有相同的方法名、参数列表和返回值类型,且在子类中重写的方法不能拥有比父类方法更严格的访问权限。

重载和重写的区别:

方法重载:在同一个类中处理不同数据的多个相同方法名的多态手段。

方法重写:相对继承而言,子类中对父类已经存在的方法进行区别化的修改。

final关键字

使用final关键字做标识有“最终的”含义。

final 修饰类,则该类不允许被继承。

final 修饰方法,则该方法不允许被覆盖(重写)。

final 修饰属性,则该类的该属性不会进行隐式的初始化,所以 该final 属性的初始化属性必须有值,或在构造方法中赋值(但只能选其一,且必须选其一,因为没有默认值!),且初始化之后就不能改了,只能赋值一次。

final 修饰变量,则该变量的值只能赋一次值,在声明变量的时候才能赋值,即变为常量。

super关键字

在对象的内部使用,可以代表父类对象。

子类的构造过程当中必须调用父类的构造方法。这个过程已经隐式地使用了我们的super关键字。

如果子类的构造方法中没有显示调用父类的构造方法,则系统默认调用父类无参的构造方法。

如果自己用super关键字在子类里调用父类的构造方法,则必须在子类的构造方法中的第一行。

要注意的是,如果子类构造方法中既没有显示调用父类的构造方法,而父类没有无参的构造方法,则编译出错。
 

                

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值