JAVA中的继承

一、继承

JAVA中的继承是单继承,也就是一个类只有一个父类。

通过继承,子类拥有父类的所有属性和方法(当然,父类的修饰符不能是private),并实现代码复用。

继承的语法:

class 子类 extends 父类{

... ...

}


*****************************************************************************************************************

来一段代码吧:

先写一个父类Animal类


然后写一个Dog类,由于狗狗属于动物类,所以Dog类继承Animal类

在给类命名时,记得选择继承的父类。步骤:

在Superclass右边选择浏览


输入父类Animal的类名,选中即可


这样就能继承父类啦~



再写一个Initial类带main函数,实例化一个dog对象,赋值并调用函数


执行结果:

动物可以吃东西


*********************************************************************************************************************


二、方法的重写

子类可以重写继承的父类的方法,在调用方法时会优先调用子类重写的方法。

方法名、返回值类型、参数类型及个数 都与父类继承的方法相同,才能叫方法的继承。


*********************************************************************************************************************

在刚刚的代码的基础上进行方法的重写。子类Dog类要重写eat()方法。

将Animal类的eat()方法复制到Dog类,并把输出内容作修改。main函数不做修改

执行结果:


可以看到,调用eat()方法时优先调用子类重写的方法。

**************************************************************************************************************************


三、继承的初始化顺序

在创建一个对象时,构造方法相当于初始化一个对象。

继承初始化顺序为:

1. 先初始化父类,再初始化子类

2. 先执行初始化对象中属性,再执行构造方法中的初始化

****************************************************************************************************************************

用代码来验证:

在Animal类写一个构造函数,输出一条语句


在Dog类也照样写一个构造函数输出语句


main函数不改。执行结果:


可以看到,在创建新对象时,先创建父类对象,再创建子类对象。

然后在Animal类中给对象初始化中的属性和构造方法中的属性分别赋值


main函数输出animal对象的age


执行结果:


可以看到,最后的animal.age是构造方法中赋的值20。也就是说,创建一个对象时会先执行初始化对象中属性,再执行构造方法中的初始化(初始化时age=10,构造方法中age=20,后执行的构造方法的age=20将age=10覆盖了)

***********************************************************************************************************************************************

总结:当我们创建一个子类的对象时,会先创建父类对象,父类对象进行属性初始化,再执行父类构造方法。

     然后创建子类对象,子类对象进行属性初始化,再执行子类构造方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值