java中this的用法
时间: 2023-05-23 20:01:40 浏览: 53
this 是指向当前对象的一个引用,在 Java 中使用 this 关键字可以区分局部变量和实例变量的同名情况,可以用来访问当前对象的属性和方法。this 还可以作为方法参数进行传递,以便在方法中访问当前对象的属性和方法。
相关问题
JAVA中this用法
this在JAVA中表示当前对象的引用,可以用于区分类成员变量和方法参数之间的歧义,也可以用于在构造函数中调用另一个构造函数。举个例子,如果一个类中有一个成员变量和一个方法的参数同名,那么在方法中就可以用this关键字来区分它们,如下所示:
public class Example {
private int value;
public Example(int value) {
this.value = value;
}
public void setValue(int value) {
this.value = value;
}
}
在上述代码中,构造函数中的value是一个参数,而setValue方法中的value则是成员变量,用this关键字可以使它们在代码中明确区分。
另外,this还可以用于在构造函数中调用另一个构造函数,这个技巧可以使得构造函数中的代码更加简洁明了。具体实现方法是,在构造函数中使用this关键字并传入参数,如下所示:
public class Example {
private int value;
public Example() {
this(0); // 调用有参构造函数
}
public Example(int value) {
this.value = value;
}
}
在上述代码中,无参构造函数调用了有参构造函数,并传入了0作为参数,这样就可以避免在无参构造函数中重复编写与有参构造函数相同的代码。
我需要的时java中this用法的例子
好的,以下是一个Java中使用this的例子:
```java
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return this.name;
}
public int getAge() {
return this.age;
}
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
public void printInfo() {
System.out.println("Name: " + this.name + ", Age: " + this.age);
}
}
```
在这个例子中,我们定义了一个Person类,该类有两个实例变量name和age,以及对应的getter和setter方法,还有一个printInfo方法,用于打印实例变量的值。
在setter方法中,我们使用了this关键字来引用当前对象的实例变量,以避免参数名与实例变量名相同的歧义。
在printInfo方法中,我们同样使用了this关键字来引用当前对象的实例变量,以便在打印信息时能够正确地输出实例变量的值。
以下是一个使用Person类的例子:
```java
public class Main {
public static void main(String[] args) {
Person person = new Person("Tom", 18);
person.printInfo(); // 输出: Name: Tom, Age: 18
person.setName("Jerry");
person.setAge(20);
person.printInfo(); // 输出: Name: Jerry, Age: 20
}
}
```
在这个例子中,我们创建了一个Person对象,并调用了其printInfo方法,输出了对象的实例变量的值。
接着,我们使用setter方法修改了对象的实例变量的值,再次调用printInfo方法,可以看到实例变量的值已经被修改了。