2021-9-15-调试 验证 寻找问题答案

建议思考的方式:

1、调试--模拟一些条件去调试,来探索确定知识点的原理--eg利用printIn
2、目的--做一件事前,先明确你的目的
3、分析--分析现有的东西(条件)能否达到你的目的,剖析,如果不能,另外找方法
4、定位--【定位问题的根源】。代表怎么当一个问题出现之后,你怎么定位它的问题出现在哪里,找到它,并且解决它

解决存在父子类关系时父类没有一个无参构造器的报错问题:

step1明确目的:寻找父子类关系存在时父类需要无参构造方法的原因
step2分析条件:已知事物都用上--已知有父类,子类,父子类关系
(方向:做什么动作,【预期效果是怎么样的,能够证明目的】。范围(定位))
step3模拟条件调试:做调试程序测试,在子类中创建主函数调用子类方法,使用断点跟踪程序运行步骤(或在程序可能运行到的地方插入提示语,即是在父、子类构造器方法和主函数开始第一步插入提示语eg"===1/2/3/4.."),结果证明程序在调用子类方法时需要使用到父类里的无参构造器
step4拓展:查找相关理论知识--

“如果父类没有无参构造方法,那么子类的构造方法会出现什么现象呢?
报错。
如何解决呢? 
A:在父类中加一个无参构造方法
B:通过使用super关键字去显示的调用父类的带参构造方法
C:子类通过this去调用本类的其他构造方法
子类中一定要有一个去访问了父类的构造方法,否则父类数据就没有初始化。”

“因为子类继承父类之后,获取到了父类的内容(属性/字段),而这些内容在使用之前必须先初始化,所以必须先调用父类的构造函数进行内容的初始化.

这是java的一种规范,告诉我们如果子类实例化,那就需要先初始化父类的变量,例如私有的成员变量(通过父类构造方法),子类才不需要自己去实例化分类的变量。”


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值