public class Test2 {
public static void main(String[] args) {
Father f = new Child();
f.service();
}
}
class Father{
public void service(){
System.out.println("parent service");
doGet();
}
public void doGet(){
System.out.println("parent doGet");
}
}
class Child extends Father{
public void service(){
System.out.println("child service");
super.service();
}
public void doGet(){
System.out.println("child doGet");
}
}
结果是:
child service
parent service
child doGet
比较难以理解的是调用super.service(),结果却是
parent service
child doGet
也就是说:
public void service(){
System.out.println("parent service");
doGet();
}
public void doGet(){
System.out.println("parent doGet");
}
这段代码中调用的doGet()是子类的doGet方法。
原因:我们方法调用的时候,会默认将this关键字传入进去(隐式传this),而Father f = new Child()这段代码,是一个父类引用指向子类对象。它会调用Child的方法。而隐式传的this就是Child的this。
所以当调用doGet()方法时,其实就相当于this.doGet()。(我们直接加上this,结果也是正确的)。
也就是Child 的doGet方法。
分享到:
相关推荐
主要介绍了android调用C语言实现内存的读取与修改的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
问题描述: 在开发项目过程中,需要处理算法分析出来二进制流数据,并对数据解析处理转发。我们上层应用平台是使用java开发的...那现在上层应用面临的问题:访问java外部功能接口实现方式(即调用dll)怎么选择及实现?
java通过ssh调用centos7指令,获取磁盘空间使用率、磁盘空间使用情况、网络使用情况,CPU使用率,内存使用率
java 生成对象的时候以及调用方法的时候,所使用的空间分布,包括对象和变量在内存的存储方式和分布方式的讲解。
在序列化过程中充分利用了成员实现的序列化反序列化方法,与在toString方法中调用成员的toString方法有异曲同工之妙 2.充分利用Java实现的API接口。比如在类Index中的getDictionary方法中,需要返回所有保存的Term,...
调用 java webservice 的问题
NULL 博文链接:https://cyj86.iteye.com/blog/1095213
NULL 博文链接:https://gaojingsong.iteye.com/blog/2317392
java查看内存使用情况,启动新进程。sigar调用、有源码工程
JNI攻略之十一――启动虚拟机调用java类
1、通过java调用Python命令执行datax任务调度 2、自动开始任务和调度结束关闭任务调度释放内存 3、如果我们在cmd使用命令调度,执行完毕后无法释放内存,会造成内存泄露不足,出现报错“Error occurred during ...
今天小编就为大家分享一篇关于通过java调用datax,返回任务执行的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
该文档详细描述了,内存溢出各种问题和解决方案,适合学习!
在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...
主要介绍了Java实现获取cpu、内存、硬盘、网络等信息的方法,涉及java使用第三方jar包针对本机硬件的cpu、内存、硬盘、网络信息等的读取相关操作技巧,需要的朋友可以参考下
北京动力节点-Java编程零基础教程-119-Java基本语法-方法详解-方法的调用过程-方法调用过程中栈内存的变化.avi 北京动力节点-Java编程零基础教程-120-Java基本语法-方法的重载-什么是方法重载.avi 北京动力节点-...
IBM开发的强大的内存dump分析工具,IBM heapAnalyzer是通过分析OOM后的Java heap dump文件的,通过对dump文件的分析找到可能泄露的点,这是IBM官方的工具,它对堆栈调用做了可视化的转换,可以更直观地看到调用关系...