java super和this的区别

来源:互联网 发布:美发店收银软件下载 编辑:程序博客网 时间:2024/06/03 06:56

    this关键字:

           this关键字代表的是某个对象,this只可以出现在实例方法中,不可以出现在类方法中,this.varibly代表的是使用本类的成员变量,但是可以省略,因此在给成员变量赋值的时候,可以不用写this,但是如果有把一个同名的局部变量赋给该成员变量,就必须使用this关键字,也就是this区别成员变量和局部变量。

  this的使用:

          1. this(x)表示调用子类中的构造器,但是this(x)必须写在方法的第一行。

          2. this.x表示调用成员变量,成员变量在实例方法中默认的格式是:this.成员变量。   3.  this不可以在类方法中使用,this可以表示当前调用方法对象的引用

          4. this总是表示的子类对象,从本质上讲,this是一个指向本对象的指针。

super关键字:

      super只是java的一个关键字,它可以操作被影藏的成员变量和方法。

   super的使用:

           1. super(x)表示调用父类的构造器,这种用法和this类似,但是必须写在第一句。

            2. 子类创建对象的时候总是会先调用父类的构造方法,如果不明显的指定掉用哪个构造方法,就会默认的调用父类的无参构造方法,并且是super (),也就是子类的构造方法第一句都是隐含的调用了super().

            3. super可以操作父类被子类隐藏的成员变量和方法,例如:super.x和super.method(),如果该类从超类继承来的,那么super.method()表示调用 基类的方法。

            4. 同this关键字,super也不可以使用在类方法中。

0 0