21xrx.com
2024-12-23 20:28:06 Monday
登录
文章检索 我的文章 写文章
作为一名Java程序员
2023-06-11 01:34:35 深夜i     --     --

作为一名Java程序员,我相信大家都熟悉this关键字的用法,但它到底代表什么呢?在这篇文章中,我将通过代码例子来阐述this的三种不同含义。

1. 当前对象

在Java中,this代表当前对象,也就是说,它指向调用当前方法的对象。下面是一个例子:


public class Person{

  private String name;

  public Person(String name)

    this.name = name;

  

  public void sayHello(){

    System.out.println("Hello, my name is " + this.name);

  }

}

public class Main{

  public static void main(String[] args){

    Person person = new Person("Tom");

    person.sayHello();

  }

}

在这个例子中,this.name代表的就是当前对象person的name属性。

2. 调用构造方法

当构造函数中的参数和当前类中的属性名相同时,this关键字也可以用于调用当前类的构造函数。下面是一个例子:


public class Person{

  private String name;

  private int age;

  public Person(){

    this("Tom", 18);

  }

  public Person(String name, int age)

    this.name = name;

    this.age = age;

  

}

public class Main{

  public static void main(String[] args){

    Person person1 = new Person();

    Person person2 = new Person("Jerry", 20);

  }

}

在这个例子中,this("Tom", 18)就是调用了Person类中的另一个构造函数,传入了默认的name和age。

3. 区分局部变量和成员变量

this关键字还可以用于区分局部变量和成员变量,比如以下例子:


public class Person{

  private String name;

  private int age;

  public void setName(String name)

    this.name = name;

  

  public void setAge(int age)

    this.age = age;

  

}

public class Main{

  public static void main(String[] args){

    Person person = new Person();

    person.setName("Tom");

    person.setAge(18);

  }

}

在这个例子中,this.name代表的是Person类中的name属性,而name只是一个局部变量。

综上所述,this关键字在Java中有三种不同的含义,分别是代表当前对象、调用构造方法和区分局部变量和成员变量。对于初学者来说,掌握this关键字的用法是非常重要的。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复