super和this关键字

一. super关键字

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

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

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

super();  

   

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

   调用父类的方法语法:

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

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

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

二. this关键字

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

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

猜你喜欢

转载自www.cnblogs.com/houchen/p/10421294.html