当前位置 > 主页 > 万和大讲堂 >


Java基础:Java super关键字_南京万和Java培训分享

2016-10-09 15:53

  作为一个程序员,在Java开发中的基础知识掌握的要非常稳固,才会对后面深层次的学习有帮助,南京万和Java培训整理了Java基础中的Java super关键字的详细介绍,大家可以参考一下。


  super 关键字与 this 类似,this 用来表示当前类的实例,super 用来表示父类。


  super 可以用在子类中,通过点号(.)来获取父类的成员变量和方法。


  super 也可以用在子类的子类中,Java 能自动向上层类追溯。


  父类行为被调用,就好象该行为是本类的行为一样,而且调用行为不必发生在父类中,它能自动向上层类追溯。


  super 关键字的功能:


  调用父类中声明为 private 的变量。


  点取已经覆盖了的方法。


  作为方法名表示父类构造方法。


  调用隐藏变量和被覆盖的方法



  运行结果:


  Animals can move


  Dogs can walk and run


  Please remember: Animals are human’s good friends


  move() 方法也可以定义在某些祖先类中,比如父类的父类,Java 具有追溯性,会一直向上找,直到找到该方法为止。


  通过 super 调用父类的隐藏变量,必须要在父类中声明 getter 方法,因为声明为 private 的数据成员对子类是不可见的。


  学习Java给大家推荐一个学习交流群,里面有大量的学习资料,首先是二二零,中间是一四二,最后是九零六


  调用父类的构造方法


  在许多情况下,使用默认构造方法来对父类对象进行初始化。当然也可以使用 super 来显示调用父类的构造方法。



  运行结果: 我是一只可爱的小狗,我的名字叫花花,我3岁了


  南京万和Java培训提醒大家注意:无论是 super() 还是 this(),都必须放在构造方法的第一行。


  值得注意的是:在构造方法中调用另一个构造方法,调用动作必须置于最起始的位置。


  不能在构造方法以外的任何方法内调用构造方法。


  在一个构造方法内只能调用一个构造方法。


  如果编写一个构造方法,既没有调用 super() 也没有调用 this(),编译器会自动插入一个调用到父类构造方法中,而且不带参数。


  最后南京万和Java培训提醒大家注意 super 与 this 的区别:super 不是一个对象的引用,不能将 super 赋值给另一个对象变量,它只是一个指示编译器调用父类方法的特殊关键字。

最近开班 more>
  • 全栈开发
  • 前端基础班
  • 软件测试
  • Java大数据开发工程师
  • 云原生精英班
  • 开发课程基础班第四期
  • 开发课程基础班第三期
  • 开发课程基础班第二期
  • 开发课程基础班第一期
  • Java Web UI Python
  • CISP
  • HCIE-Datacom(HCIA,HCIP基础)
  • HCIP-Datacom(HCIA基础)
  • HCIA-Datacom(0基础)
  • HCIE-Datacom(HCIA,HCIP基础)
  • HCIP-Datacom(HCIA基础)
  • HCIA-Datacom(0基础)
  • OCM 12C
  • OCP 19C
  • RHCE 9.0
  • 脱产班
  • 脱产班
  • 脱产班
  • 脱产班
  • 脱产班
  • 脱产班
  • 脱产班
  • 脱产班
  • 脱产班
  • vip班
  • 考试计划
  • 脱产班
  • 脱产班
  • 脱产班
  • 双休班
  • 双休班
  • 双休班
  • 双休班
  • 业余班
  • 业余班
  • 10月16日
  • 9月23日
  • 9月2日
  • 9月30日
  • 8月26日
  • 10月8日
  • 9月23日
  • 9月16日
  • 9月9日
  • 随时开课
  • 9月21日
  • 10月17日
  • 9月18日
  • 9月2日
  • 11月2日
  • 10月26日
  • 9月7日
  • ——
  • 随时开课
  • 9月26日
    • 姓 名 :
    • 电 话 :
    • 课 程 :

技术交流群

  • Java大数据交流群560819979加入
  • Python技术交流群595083299加入
  • Oracle技术交流群595119011加入
  • Web前端技术交流群604697610加入
  • Huawei技术交流群482919361加入
  • Redhat技术交流群587875348加入
  • UI设计技术交流群511649801加入
  • Cisco技术交流群596886705加入
  • IT运维技术交流群605888381加入