- Java类
- Java包
- Java方法
- Java访问
- Java创建
- Java对象(Object)
- Java内部类
- Java继承
- Java抽象类
- Java泛型类
- Java异常
- Java接口
- Java枚举
- Java注解
Java this关键字
this关键字是什么?
Java有一个关键字叫this
。 它是对类的当前实例的引用。它只能在实例的上下文中使用。以下代码显示如何使用this
关键字。
public class Main { int varA = 1; int varB = varA; // Assign value of varA to varB int varC = this.varA; // Assign value of varA to varC }
当实例变量或类变量被具有相同名称的另一个变量覆盖时,需要使用关键字this
限定一个实例变量,并使用类名称定义一个类变量。
实例
下面的代码显示了如何使用this
关键字来引用一个实例变量,它的名字被一个局部变量覆盖隐藏。
public class Main { int num = 2018; // 这是一个实例变量 void printNum(int num) { // 这个参数的名称也叫 num ,与上面实例变量同名 System.out.println("Parameter num: " + num); // 打印参数 num 的值 System.out.println("Instance variable num: " + this.num); // 打印实例变量 num 的值 } public static void main(String[] args) { Main tt6 = new Main(); tt6.printNum(2017); } }
上面的代码生成以下结果。
Parameter num: 2017 Instance variable num:2018
注意:有时,需要保持变量名相同,因为它们代表相同的事情。
例如,以下代码非常常见:Student
类声明了一个实例变量id
。 在其setId()
方法中,它还命名参数id
,并使用this.id
引用实例变量。
它还使用this.id
在其getId()
方法中引用实例变量id
。
public class Student { private int id; // An instance variable public void setId(int id) { this.id = id; } public int getId() { return this.id; } }
可以使用关键字this
来限定实例方法名。 以下代码显示使用关键字this
调用m2()
方法的m1()
方法。
public class Main { void m1() { // Invoke the m2() method this.m2(); // same as "m2();" // 或者不要 this 直接 m2(); // m2(); } void m2() { // do something System.out.println("This m2() method."); } }
上一篇:Java类成员访问级别
下一篇:Java final关键字
- Java教程
- Vim教程
- Swing教程
- Spring教程
- Spring Web Services教程
- Spring MVC教程
- Spring JDBC教程
- Spring Cloud教程
- Spring Boot教程
- Spring Boot CLI教程
- Spring Batch教程
- Spring AOP教程
- PDFBox教程
- JSP教程
- JSF教程
- JPA教程
- Java面向对象设计
- Java设计模式
- Java虚拟机教程
- Java泛型教程
- Java正则表达式教程
- Java数据类型教程
- Java并发编程教程
- Java密码学教程
- Java多线程教程
- Java国际化(i18n)教程
- JavaFX教程
- Java9教程
扫描二维码
程序员编程王