简单Java编程问题,那个运行结果中的m值为什么12.58呢,而不是A呢
答案:2 悬赏:50 手机版
解决时间 2021-11-10 01:33
- 提问者网友:萌卜娃娃
- 2021-11-09 01:26
简单Java编程问题,那个运行结果中的m值为什么12.58呢,而不是A呢
最佳答案
- 五星知识达人网友:迟山
- 2021-11-09 02:41
因为你在people类的crySpeak方法里面直接用了m这个变量,其实这种写法就是this.m的简写。
所以用的是本类属性,如果用的是super.m,那就是父类对象。因为继承的关系,本类继承了父类的所有可以继承的属性跟方法,在执行方法的时候,遇到的属性,是先从本类找,如果本类没有,那么就从父类,一直找到object,如果还是没有,那么编译是不会通过的,所以运行时是不存在找不到的问题。所以就调用了本来的m而不是父类的m。
所以用的是本类属性,如果用的是super.m,那就是父类对象。因为继承的关系,本类继承了父类的所有可以继承的属性跟方法,在执行方法的时候,遇到的属性,是先从本类找,如果本类没有,那么就从父类,一直找到object,如果还是没有,那么编译是不会通过的,所以运行时是不存在找不到的问题。所以就调用了本来的m而不是父类的m。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯