1、this一般指的是本身的隐含指针,也就是哪个对象调用this所在的方法this就是哪个。
举例代码:TestThis_1.java
/* 问题:什么是this
* 输出结果:
* A@4e44ac6a
*/
public class TestThis_1 {
public static void main(String[] args) {
A aa = new A();
System.out.println(aa.f()); //aa.f(), 返回aa这个对象的引用(指针)
}
}
class A {
public A f() {
return this; //返回调用f()方法的对象的A类对象的引用
}
}
2、区分同名变量。
举例代码:TestThis_2.java
/* this的常见用法1:区分同名变量
* 输出结果:
* this. i = 1
* i = 33
*/
public class TestThis_2 {
public static void main(String[] args) {
A aa = new A(33);
}
}
class A {
public int i = 1; //这个i是成员变量
/*注意:一般不这么写,构造函数主要是为了初始化,这么写主要是为了便于理解*/
public A(int i) { //这个i是局部变量
System.out.printf("this. i = %d\n", this.i); //this.i指的是对象本身的成员变量i
System.out.printf("i = %d\n", i); //这里的i是局部变量i
}
}
以上是Java中的this关键字用法简介的详细内容。更多信息请关注PHP中文网其他相关文章!