5.Java中this,super关键字总结

Posted pfzhu

tags:

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

this

   this是自身的一个对象,代表对象本身。

   this一般有3种用法:

    1.普通的直接引用:this.userName

    2.形参与成员名字重名,this起到区分作用

package string;

public class ThisTest {
    private String name;

    public void setName(String name){
        this.name = name;
    }
}

  3.引用构造函数

           见super的第3种用法。

super

    super可以理解为指向自己父类对象的一个指针,而这个父类指的是自己的直接父类,也就是离自己最近的一个父类。

    super有3种用法:

       1.普通的直接引用

           与this类似,super相当于是指向当前对象的父类,这样就可以用super.xxx来引用父类的成员。

        2.子类中的成员变量或方法与父类中的成员变量或方法同名。

        3.引用构造函数

           super(参数):调用父类中的某一个构造函数。

           this(参数):调用本类中另一种形式的构造函数。

this与super的异同

      super(参数):调用父类中某一个构造函数。

      this(参数):调用本类中另一种形式的构造函数。

      super:它引用当前对象的直接父类中的成员(用来访问直接父类中被隐藏的父类中成员数据或函数,基类与派生类中有相同成员定义时如:super.变量名    super.成员函数据名(实参)

      this:它代表当前对象名(在程序中易产生二义性之处,应使用this来指明当前对象;如果函数的形参与类中的成员数据同名,这时需用this来指明成员变量名)

      调用super()必须写在子类构造方法的第一行,否则编译不通过。每个子类构造方法的第一条语句,都是隐含地调用super(),如果父类没有这种形式的构造函数,那么在编译的时候就会报错。

      super()和this()类似,区别是,super()从子类中调用父类的构造方法,this()在同一类内调用其它方法。


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

final,static,this,super 关键字总结

final,static,this,super 关键字总结

部分关键字--this/extends/super/static/final/abstract/访问权限总结

Java中this和super关键字

对于面向对象中的面试问题的总结

java 关于继承中的super() 方法