上篇文章中分享了Super的第1种形式,这篇文章就主要分享Super的第2种形式,除了总是引用它所在子类的超类,它的行为有点像this。这种用法有下面的通用形式:

super.member

这里,member既可以是1个方法也可以是1个实例变量。

Super的第2种形式多数是用于超类成员名被子类中同样的成员名隐藏的情况。思考下面简单的层次:

// Using super to overcome name hiding.
class A { int i;
}
// Create a subclass by extending class A.
class B extends A { int i; // this i hides the i in A B(int a, int b) { super.i = a; // i in A i = b; // i in B } void show() { System.out.println("i in superclass: " + super.i); System.out.println("i in subclass: " + i); }
}
class UseSuper { public static void main(String args[]) { B subOb = new B(1, 2); subOb.show(); }
}

该程序输出如下:

i in superclass: 1
i in subclass: 2

尽管B中的实例变量i隐藏了A中的i,使用super就可以访问超类中定义的i。你将会看到,super也可以用来调用超类中被子类隐藏的方法。

开课吧课堂之Super的第2种用法相关推荐

  1. 计算机公开课课前互动小游戏,公开课前课堂小游戏

    引导语:一年级拼音教学小游戏玩是孩子的天性,游戏自然就会成为一年级拼音教学的常客!下面是yjbys小编收集了一些关于公开课前拼音课堂小游戏,希望对你有帮助. 篇一:公开课前课堂小游戏 适用范围: 用于 ...

  2. 开课吧课堂之何时调用构造函数

    类层次结构创建以后,组成层次结构的类的构造函数以怎样的顺序被调用?举个例子来说,给定一个名为B的子类和超类A,是A的构造函数在B的构造函数之前调用,还是情况相反?回答是在类层次结构中,构造函数以派生的 ...

  3. 开课吧课堂之如何创建多级类层次

    到目前分享的文章,我们会发现,我们已经用到了只含有一个超类和一个子类的简单类层次结构.然而,你可以如你所愿的建立包含任意多层继承的类层次. 前面提到,用一个子类作为另一个类的超类是完全可以接受的.例如 ...

  4. java动脑公开课_java课堂动手动脑

    实验任务一:阅读并运行示例PassArray.java. 1)源代码: package demo; //PassArray.java //Passing arrays and individual a ...

  5. 开课吧课堂:Kubernetes集群环境常见问题解决

    本文主要分享了k8s集群环境下,镜像不能自动拉取.容器执行错误.镜像导入导出.集群崩溃常见问题解决. 1.Kubernetes集群环境下各个node镜像不能自动拉取 一般情况下遇到这种情况下,比较笨的 ...

  6. 开课吧课堂:数据可视化的制作方法与准则有哪些?

    作为数据分析师,既需要能够做好数据分析工作,同时还需要做好数据可视化,为了能够做好数据可视化工作,需要了解清楚数据可视化的制作方法与准则有哪些. 深入了解数据可视化工具有哪些? 数据可视化的制作方法 ...

  7. 开课吧课堂:深入了解学习C++的意义与就业方向

    目前有很多人都会选择转行学习C++技术,以便能够快速入门C++开发行业,这是因为C++开发工程师,拥有良好的待遇与发展前景.接下来小编带你了解下:学习C++的意义与就业方向: 深入了解学习C++的意义 ...

  8. 开课吧课堂:人工智能对金融行业的影响

    随着人工智能的高速发展,人工智能技术不仅得到了广泛使用,同时也对各个行业产生了一定的影响与改善,那么人工智能对金融界有哪些影响呢? 人工智能对金融界的影响 一.金融科技和金融智能的概念 按照国际权威机 ...

  9. 开课吧课堂:C++基本数据类型详解

    一般来说在学习C++开发技术的时候,C++数据类型是必然需要了解和学习的,同时也是一名C++开发工程师所需要深入了解的.接下来小编带你一起了解下C++基本数据类型: C++基本数据类型详解 说明符(s ...

最新文章

  1. hdu 5505(GT and numbers)
  2. Windows中安装Emacs
  3. TypeScript Parameter Destructuring 语法 - 参数解构
  4. unity中单位是米还是厘米_【一步数学】小学数学单位换算公式大全及专项训练...
  5. php分页排序不变化,php – 计算已排序分页的给定记录的跳过值
  6. HTML网站即将上线临时托管源码
  7. PHP占用内存越来越多,解决phpQuery占用内存过多的问题
  8. linux dup跨进程使用,linuxC多进程通讯---无名管道dup
  9. react-redux基本写法
  10. 农业知识图谱(KG):农业领域的信息检索,命名实体识别,关系抽取,分类树构建,数据挖掘...
  11. JAVA 遍历文件夹下的所有文件
  12. redis 一主二从三哨兵
  13. SQL数据库的增删改查
  14. JS动态生成select下拉框的option并默认选中
  15. 计算机界面没磁盘驱动器,驱动器中没有磁盘的原因和解决办法
  16. 电厂GPS北斗时钟同步(卫星时间同步系统)组成及配置
  17. 南京 徐小刚 计算机,基于混合粒子PHD滤波的多目标视频跟踪
  18. 数据结构与算法——19. 散列函数设计方法
  19. 双重检查锁与单例模式
  20. 生日蛋糕-python实现

热门文章

  1. SpringBoot史前简述
  2. 播放失败,请在设置中切换输出设备(后续)
  3. 洛谷——P1155 双栈排序
  4. 关于pycharm的一个imoprt的随笔
  5. 每天一个linux命令(60):scp命令
  6. .Net 的 Web 项目中 关于TreeView 的 checkBox 的操作……
  7. .NET中的设计模式——一步步发现装饰模式
  8. 查询结果做缓存的例子
  9. uuid会重复吗_UUID的版本你知道吗
  10. 简述python中的内存管理机制_Python中的内存管理机制