Java中的继承
发布时间:2020-12-14 19:11:08 所属栏目:Java 来源:网络整理
导读:最近我经历了继承概念. 众所周知,在继承中,超类对象是在子类对象之前创建/初始化的.因此,如果我们创建子类的对象,它将包含所有超类信息. 但我一度陷入困境. 超类和子类方法是否存在于单独的调用堆栈中? 如果是这样,有什么具体原因吗? 如果不是这样,为什么
最近我经历了继承概念. 众所周知,在继承中,超类对象是在子类对象之前创建/初始化的.因此,如果我们创建子类的对象,它将包含所有超类信息. 但我一度陷入困境. 超类和子类方法是否存在于单独的调用堆栈中? 例如.
那么以上两种方法,即play1()和play2()是否出现在单独的调用堆栈中? 谢谢. 最佳答案
调用堆栈和继承之间不一定存在任何关系.事实上,经常没有.如果在子级中重写了超类方法,则调用子级方法 – 根本不执行超类方法,除非在子方法中有明确执行该操作的代码.超类方法将不会出现在调用堆栈中 – 除非它由子方法显式调用.
A.play2()仅在“第二次调用”期间出现在调用堆栈中. B.play1()仅在“首次呼叫”期间出现在呼叫堆栈中. A.play1()从不出现在调用堆栈中,永远不会执行. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |