父类:
public class Father {
private int a = 123;
int b = 234;
protected int c = 345;
public int d = 456;
public void doGet(){
System.out.println("Father.doGet()");
}
public void doPost(){
System.out.println("Father.doPost()");
}
public void service(){
System.out.println("Father.service()");
doGet();
}
}
子类:
public class Child extends Father {
@Override
public void doGet() {
System.out.println("Child.doGet()");
}
@Override
public void doPost() {
System.out.println("Child.doPost()");
}
@Override
public void service() {
// TODO Auto-generated method stub
System.out.println("Child.service()");
super.service();
}
}
测试方法:
Child c = new Child();
c.service();
结果:
Child.service()
Father.service()
Child.doGet()
分析:
当调用子类的方法时,前两个值是Child.service和Father.service(),我们能够理解。
(首先执行子类的service,然后使用super调用父类的service方法。)。
但是最后调用doGet()方法时,却是调用了子类的doGet方法。
这其实是和this指针有关。在调用doGet()方法时,其实是省略了this指针。
如果加上this,那我们再去分析,就会明白此时的this是指向Child的。
那么调用的时候也就是调用了子类的doGet()方法。
分享到:
相关推荐
js中this相关的测试代码
4. **面试准备**:`this`的相关概念是面试中常见的考察点。 #### this是什么? `this`不是一个指向自身的指针,而是一个指向当前正在执行函数的上下文对象的指针。它会根据函数的调用方式动态地改变其指向的目标。...
接下来,标签 "源码" 和 "工具" 提示我们这个话题可能与查看和理解代码相关,可能是某个框架或库的实现,或者是开发者工具中的一个功能。在实际项目中,理解这样的代码片段对于调试、优化和维护代码库至关重要。 ...
**m_hWnd** 是MFC中一个非常重要的概念,特别是在处理窗口相关的编程时。它首先出现在类`CWnd`中,作为该类的第一个数据成员。根据MSDN的解释,m_hWnd是一个类型为`HWND`的公共变量,表示与`CWnd`类关联的Windows...
C++中的`this`指针是一个非常重要的...在类的实例中,`this`指针提供了一种方式来间接访问和操作实例本身,使得我们能够在成员函数内部操作对象的属性和执行相关操作。理解`this`指针对于编写有效的C++代码至关重要。
在Java编程语言中,`this`关键字是一个非常重要的...在编写类和对象相关的代码时,合理利用`this`可以显著提升编程效率和代码质量。对于初学者来说,理解`this`的关键字并熟练运用到实践中,是提升编程技能的重要一步。
"this term"可能指的是“this”的用法或者与之相关的概念。 在Java中,“this”关键字主要有以下几个用途: 1. **引用当前对象**:当一个方法或构造器中的一个变量名与实例变量同名时,"this"可以用来区分它们。...
【标题】"Feel This Moment iTunes" 是一个与音乐分发平台iTunes相关的主题,特别是针对流行歌曲"Feel This Moment"的数字下载版本。这首歌曲很可能由著名艺人演唱,并且在iTunes商店作为单曲或者专辑的一部分供用户...
C++虚函数、this指针相关知识 C++作为一门面向对象的语言,具有封装、继承、多态三大特性。其中虚函数和this指针是C++中两个非常重要的概念。 谈面向对象(Object-oriented) 面向对象是一种编程方式,它将现实...
《教师用书》则包含录音的书面材料,练习答案和相关文化背景知识的补充读物。 和国内现有的听力教程相比,Listen to This 有以下几个特点: 1.教程的第三册适合英语专业高年级学生使用,以达到教委大纲中第六级...
【标题】"19_this 视频" 是一个与Java编程相关的视频教程,可能是针对Java初学者或进阶者设计的。在这个视频中,我们很可能将深入探讨Java语言的各个方面,以便增强对Java编程的理解和技能。 【描述】"19_this 视频...
This demonstration version of this control is a wrapper around the FileSystemObject - and makes using the FSO much easier.
5. **重启游戏**:安装完成后,关闭所有与游戏相关的进程,然后重新启动游戏。此时,系统应该能够正确识别并运行修复后的游戏文件,不再出现“this program has been damaged”的错误。 6. **检查效果**:如果游戏...
"package-this"工具的使用非常简单,用户只需要指定想要下载的MSDN库版本,如Visual Studio .NET 2005或2008,工具就会自动抓取相关的帮助文档并生成CHM文件。这样,即便在没有网络的环境中,开发者依然可以查阅到...
`VC 源码-其它源码`标签表明这是一个使用Visual C++编译器的源代码示例,可能包含了上述类的实现以及其他相关的辅助函数或测试代码。在实际的压缩包文件`codesc.net`中,可能包含了这个类的完整实现,供学习者分析和...
在HTML中引入相关脚本并配置播放器实例。 - **服务器配置**: 确保服务器如Tomcat或IIS已正确配置支持RTMP。对于Tomcat,可能需要使用第三方插件如Red5 Pro或Nginx;对于IIS,可以使用WMServer或Flash Media ...
它们通常用作工具方法或与类的静态状态相关的操作。 - 静态变量:所有类的实例都共享同一份静态变量的副本。在上述示例中,`Value`类的`c`变量就是静态的,因此`v1`和`v2`对象的`c`值都是共享的。 2. **this** `...
标签 "chrome 插件" 确认了我们的讨论内容与Chrome浏览器的附加功能有关。Chrome插件是增强浏览器功能的小型软件,它们可以添加新的特性,或者改变浏览器的现有行为,满足用户的特定需求。 综上所述,"Edit-This-...
比较齐全的this的用法.this在不同的情况下用法的说明和一些相关的总结。
在JavaScript中,`this`关键字是一个非常核心的概念,它的指向问题常常困扰着初学者。`this`的指向并不像其他编程语言那样固定,而是根据函数的调用方式动态决定的。下面我们将深入探讨`this`的基本规则以及如何通过...