递归与继承的知识点总结

递归
--方法本身调用自己,直到某一条件的结束
在递归中,简单的递归和循环相似,难点递归需要数学运算


如果递归没有给出结束条件,则会发现java.lang.StackOverflowError
栈溢出错误
除了递归以外,在java编程中出现方法调用的问题,也可能出现Java.lang
所有方法调用时不要做一下操作,让A调用B,再让B调用C,再让C调用A






继承
已有的类称为父类、基类、超类
新类称为子类、派生类
类与类之间能比较,不能类与对象比较
继承--类的扩展,扩展得到的称为子类/派生类,扩展的原型称为父类/基类/超类
在java中常用is a 来评判是否属于继承
在子类中书写extends关键字来继承
下述表明:继承
如果一个类继承另一个类,则会具有其拥有的属性和行为
public class 子类 extends 父类{}
且在java中 只有单继承,也就是说extends
在创建子类对象时,发现子类具有父类所有的属性和行为
在内存中,先是根据父类的内容进行加载;然后加载子类加载项,从而生成一个完成的子类对象
父类也可以有父类
如果要修改父类行为,则需要重写
重写--在子类继承父类时覆盖父类原有的行为
重写要求--方法名,参数列表、返回类型都与父类相同


在子类中,如果有和父类同名的属性和行为,我们可以使用super来调用父亲的属性和行为,而使用this调用本类的属性和行为
注意--即使我们将父类的行为进行重写,但仅仅是调用时只看得到的内容
但被重写内容--即父类的内容依然可以使用super调用
super的第二种用法:super()指代父类的构造器
在子类构造器中,第一行会默认调用父类的无参构造--super()
如果父类中书写了带参构造器,就不会生成无参:子类在书写时,会默认生成一个无参构造
但由于子类的无参会默认调用父类的无参,故报错
修改--1.在父类中加入无参构造器 2.在子类中写super(父类的参数)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值