21xrx.com
2024-11-22 19:55:07 Friday
登录
文章检索 我的文章 写文章
作为一名Java开发者
2023-06-10 15:05:46 深夜i     --     --

作为一名Java开发者,我们经常会使用this关键字来指代当前对象。this是Java中非常重要的一个关键字,它不仅可以在类中使用,还可以在构造方法中使用。本文将详细介绍Java中this的用法,并给出代码例子。

首先我们来看一个简单的例子:


public class Person {

  private String name;

  private int age;

  

  public Person(String name, int age)

    this.name = name;

    this.age = age;

  

  

  public void printInfo() {

    System.out.println("My name is " + this.name + ", I am " + this.age + " years old.");

  }

}

在上面的代码中,我们定义了一个Person类,其中包含一个构造方法和一个printInfo方法。在构造方法中,我们使用this关键字来指代当前对象,即将传入的name和age值赋值给当前对象中的属性。在printInfo方法中,我们也使用this关键字来指代当前对象,即将当前对象中的name和age属性打印出来。

在Java中,this关键字可以直接访问当前对象中的属性和方法。下面是一些常见的使用场景:

1. 在构造方法中使用this关键字来调用另一个构造方法


public class Person {

  private String name;

  private int age;

  

  public Person() {

    this("John Doe", 18);

  }

  

  public Person(String name, int age)

    this.name = name;

    this.age = age;

  

}

在上面的代码中,我们定义了两个构造方法。在无参构造方法中,我们使用this关键字来调用有参构造方法,然后将默认值传入有参构造方法中进行初始化。

2. 在方法中将当前对象作为参数传递给其他方法


public class Person {

  private String name;

  private int age;

  

  public void eat(Food food) {

    food.setEatenBy(this);

  }

}

public class Food {

  private Person eatenBy;

  

  public void setEatenBy(Person person)

    this.eatenBy = person;

  

}

在上面的代码中,我们定义了两个类。在Person类中的eat方法中,我们将当前对象作为参数传递给Food类中的setEatenBy方法,然后将当前对象赋值给Food类中的eatenBy属性。这样就可以记录下每个食物被哪个人吃了。

3. 在方法中返回当前对象


public class Person {

  private String name;

  private int age;

  

  public Person setName(String name)

    this.name = name;

    return this;

  

  

  public Person setAge(int age)

    this.age = age;

    return this;

  

}

Person person = new Person().setName("John Doe").setAge(18);

在上面的代码中,我们定义了一个Person类。在setName和setAge方法中,我们都返回了当前对象,这样就可以使用链式编程的方式设置属性值。

本文介绍了Java中this关键字的用法,并给出了相关的代码例子。了解this关键字的使用场景对于Java开发者来说是非常重要的,希望本文可以对大家有所帮助。

  
  

评论区

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