美文网首页
Java中this和super关键字的用法

Java中this和super关键字的用法

作者: 夜阑w | 来源:发表于2019-02-15 23:24 被阅读0次

一、this

this关键字只能用在方法的方法体内。当一个对象创建后,JVM就会给这个对象分配引用自己的指针,这个指针的名字就叫做this。也正因为如此,this只能用在非静态方法中。并且this只和特定的对象关联,而不和类关联,所以看到this就表示调用这个方法的对象。同一个类的不同对象有不同的this,虽然都是this,但是含义是不同的。

“this是指向对象本身的一个指针”。

1、访问成员变量
方法参数或者方法中的局部变量和成员变量同名的情况下,成员变量被屏蔽,此时要访问成员变量则需要用“this.变量名”的方式来引用变量。但是,在没有同名的情况,可以直接用成员变量的名字,而不用this,用了也是正确的。

public class Test{
  private String username;
  private String password;

  public Test(String username, String password){
    //成员变量和参数同名,成员变量被屏蔽,用"this.成员变量"的方式访问成员变量.
    this.username = username;
    this.password = password;
  }
}

2、调用当前类的构造方法
通过this调用本类中另一个构造方法,用法是this(参数列表),这个仅仅在类的构造方法中可以用,并且只能放在类的构造方法的方法体的第一句。别的地方不能用。一般会在参数多的构造函数里面去用this调用参数少的构造函数。

public class Test{
  private String username;
  private String password;

  public Test(String username, String password){
  //成员变量和参数同名,成员变量被屏蔽,用"this.成员变量"的方式访问成员变量.
    this.username = username;
    this.password = password;
  }

  public Test(String name){
    this(name, "空");
    //相当于给了两个参数(其中一个参数已经定了,另一个参数在这个构造方法传入)。  
  }
}

3、在方法中,需要引用该方法所属类的当前对象的时候,直接用this。

二、super

1、在子类的构造方法中要调用父类的构造函数,用“super(参数列表)”的方式调用,注意“super(参数列表)”这条语句只能放在子类构造方法的方法体的第一句。

public class TestFirst{
  public Test(String username, String password){
    super(username,password);
  }
}

2、当子类方法中的局部变量或者子类的成员变量与父类的成员变量同名时,也就是子类局部变量或者子类的成员变量覆盖了父类的成员变量时,用“super.成员变量”引用父类的成员变量。当然父类的成员变量没有覆盖,也可以用“super.成员变量名”来引用父类的成员变量。

3、如果子类重写了父类的某一个方法,即子类和父类有相同的方法定义,但是有不同的方法体,此时,我们可以通过"super.成员方法名"来调用父类里面的这个方法。

相关文章

  • Java 中的 this 和 super 关键字

    Java 中的 this 和 super 关键字 this 的用法 this指向的是当前对象,是当前对象的引用,利...

  • Java 基础 20 super关键字以及继承中的方法重写

    1.1 super 关键字的概述和使用 1.1.1super 关键字的概述 super的用法和this很像this...

  • Java中this和super关键字的用法

    一、this this关键字只能用在方法的方法体内。当一个对象创建后,JVM就会给这个对象分配引用自己的指针,这个...

  • Java中this和super关键字的用法

    this Java里this是指向对象本身的一个指针,用法大体上可分为: 普通的直接引用 用来区分成员变量和形参下...

  • Java中this和super关键字的用法

    这两者大概的区分 this指的是当前对象的引用,super是当前对象里面的父对象的引用。两者的用法及区别用一个例子...

  • super关键字

    Java中super关键字用来引用直接父类的对象。super关键字用于继承上下文。super关键字主要用于: 引用...

  • Java中this,super关键字用法

    this this关键字在java中是对正在调用该方法的当前对象的引用。简单一点表达就是代表当前创建的对象的引用。...

  • java中this和super用法

    在java编程思想中有这样一段话:通常写this的时候,都是指“这个对象”或者“当前对象”,而且它本身表示对当前对...

  • Java中this、super关键字的用法

    1、this 当一个对象创建后,JVM就会给这个对象分配引用自己的指针,这个指针的名字就叫做this。也正因为如此...

  • Java中this和super的用法

    1. 用法概括 1. thisthis是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针。this...

网友评论

      本文标题:Java中this和super关键字的用法

      本文链接:https://www.haomeiwen.com/subject/pysveqtx.html