super和this关键字

Posted houchen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了super和this关键字相关的知识,希望对你有一定的参考价值。

一. super关键字

super 表示使用它的类的父类。super 可用于:

  • 调用父类的构造方法;
  • 调用父类的方法(子类覆盖了父类的方法时);
  • 访问父类的数据域(可以这样用但没有必要这样用)。

调用父类的构造方法语法:

super();  

   

super(参数列表);
注意:super 语句必须是子类构造方法的第一条语句。不能在子类中使用父类构造方法名来调用父类构造方法。
父类的构造方法不被子类继承。调用父类的构造方法的唯一途径是使用 super 关键字,如果子类中没显式调用,
则编译器自动将 super(); 作为子类构造方法的第一条语句。

   调用父类的方法语法:

super.方法名(参数列表);

   如果是继承的方法,是没有必要使用 super 来调用,直接即可调用。但如果子类覆盖或重写了父类的方法,

则只有使用 super 才能在子类中调用父类中的被重写的方法。

 

二. this关键字

this 关键字表示当前对象。可用于:

  • 调用当前类的构造方法,并且必须是方法的第一条语句。如:this(); 调用默认构造方法。this(参数); 调用带参构造方法。
  • 限定当前对象的数据域变量。一般用于方法内的局部变量与对象的数据域变量同名的情况。如 this.num = num。this.num 表示当前对象的数据域变量 num,而 num 表示方法中的局部变量。
 





以上是关于super和this关键字的主要内容,如果未能解决你的问题,请参考以下文章

java之this,super和代码块精选

对this的理解,关键字super与this的区别

this与super关键字(阿里巴巴面试竟然问道这个了……今天把它盘透彻了!)

super关键字与this关键字

继承中this和super关键字

this,super关键字的使用