`

this相关

 
阅读更多

父类:

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相关的测试代码

    js中this相关的测试代码

    this的用法以及改变this指向

    4. **面试准备**:`this`的相关概念是面试中常见的考察点。 #### this是什么? `this`不是一个指向自身的指针,而是一个指向当前正在执行函数的上下文对象的指针。它会根据函数的调用方式动态地改变其指向的目标。...

    解析 this.initialize.apply(this, arguments)

    接下来,标签 "源码" 和 "工具" 提示我们这个话题可能与查看和理解代码相关,可能是某个框架或库的实现,或者是开发者工具中的一个功能。在实际项目中,理解这样的代码片段对于调试、优化和维护代码库至关重要。 ...

    MFC窗口m_hWnd和this指针

    **m_hWnd** 是MFC中一个非常重要的概念,特别是在处理窗口相关的编程时。它首先出现在类`CWnd`中,作为该类的第一个数据成员。根据MSDN的解释,m_hWnd是一个类型为`HWND`的公共变量,表示与`CWnd`类关联的Windows...

    C++ this指针的理解

    C++中的`this`指针是一个非常重要的...在类的实例中,`this`指针提供了一种方式来间接访问和操作实例本身,使得我们能够在成员函数内部操作对象的属性和执行相关操作。理解`this`指针对于编写有效的C++代码至关重要。

    java this关键字的使用

    在Java编程语言中,`this`关键字是一个非常重要的...在编写类和对象相关的代码时,合理利用`this`可以显著提升编程效率和代码质量。对于初学者来说,理解`this`的关键字并熟练运用到实践中,是提升编程技能的重要一步。

    java源代码-this term

    "this term"可能指的是“this”的用法或者与之相关的概念。 在Java中,“this”关键字主要有以下几个用途: 1. **引用当前对象**:当一个方法或构造器中的一个变量名与实例变量同名时,"this"可以用来区分它们。...

    Feel This Moment iTunes

    【标题】"Feel This Moment iTunes" 是一个与音乐分发平台iTunes相关的主题,特别是针对流行歌曲"Feel This Moment"的数字下载版本。这首歌曲很可能由著名艺人演唱,并且在iTunes商店作为单曲或者专辑的一部分供用户...

    C++虚函数、this指针相关知识

    C++虚函数、this指针相关知识 C++作为一门面向对象的语言,具有封装、继承、多态三大特性。其中虚函数和this指针是C++中两个非常重要的概念。 谈面向对象(Object-oriented) 面向对象是一种编程方式,它将现实...

    listen to this电子书(三册全)

    《教师用书》则包含录音的书面材料,练习答案和相关文化背景知识的补充读物。  和国内现有的听力教程相比,Listen to This 有以下几个特点:  1.教程的第三册适合英语专业高年级学生使用,以达到教委大纲中第六级...

    19_this 视频

    【标题】"19_this 视频" 是一个与Java编程相关的视频教程,可能是针对Java初学者或进阶者设计的。在这个视频中,我们很可能将深入探讨Java语言的各个方面,以便增强对Java编程的理解和技能。 【描述】"19_this 视频...

    This demonstration version of this control is a wrapper arou

    This demonstration version of this control is a wrapper around the FileSystemObject - and makes using the FSO much easier.

    WIN8仙三补丁(遇到this program has been damaged用)

    5. **重启游戏**:安装完成后,关闭所有与游戏相关的进程,然后重新启动游戏。此时,系统应该能够正确识别并运行修复后的游戏文件,不再出现“this program has been damaged”的错误。 6. **检查效果**:如果游戏...

    package-this, MSDN联机帮助下载工具

    "package-this"工具的使用非常简单,用户只需要指定想要下载的MSDN库版本,如Visual Studio .NET 2005或2008,工具就会自动抓取相关的帮助文档并生成CHM文件。这样,即便在没有网络的环境中,开发者依然可以查阅到...

    C this指针应用简单一例.rar

    `VC 源码-其它源码`标签表明这是一个使用Visual C++编译器的源代码示例,可能包含了上述类的实现以及其他相关的辅助函数或测试代码。在实际的压缩包文件`codesc.net`中,可能包含了这个类的完整实现,供学习者分析和...

    No compatible source was found for this video. 解决方法

    在HTML中引入相关脚本并配置播放器实例。 - **服务器配置**: 确保服务器如Tomcat或IIS已正确配置支持RTMP。对于Tomcat,可能需要使用第三方插件如Red5 Pro或Nginx;对于IIS,可以使用WMServer或Flash Media ...

    Java中static、this、super、final用法简谈

    它们通常用作工具方法或与类的静态状态相关的操作。 - 静态变量:所有类的实例都共享同一份静态变量的副本。在上述示例中,`Value`类的`c`变量就是静态的,因此`v1`和`v2`对象的`c`值都是共享的。 2. **this** `...

    Edit-This-Cookie-1.5.0.zip

    标签 "chrome 插件" 确认了我们的讨论内容与Chrome浏览器的附加功能有关。Chrome插件是增强浏览器功能的小型软件,它们可以添加新的特性,或者改变浏览器的现有行为,满足用户的特定需求。 综上所述,"Edit-This-...

    this指针PPT

    比较齐全的this的用法.this在不同的情况下用法的说明和一些相关的总结。

    浅谈JavaScript中this的指向问题

    在JavaScript中,`this`关键字是一个非常核心的概念,它的指向问题常常困扰着初学者。`this`的指向并不像其他编程语言那样固定,而是根据函数的调用方式动态决定的。下面我们将深入探讨`this`的基本规则以及如何通过...

Global site tag (gtag.js) - Google Analytics