java中的this标识

this是为了区分重名,如下例子

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class Demo{
public String name;
public int age;

public Demo(String name, int age){
this.name = name;
this.age = age;
}

public void say(){
System.out.println(我叫" + name + ",已经" + age + "");
}

public static void main(String[] args) {
Demo obj = new Demo("novy", 3);
obj.say();
}
}

在本类中demo有两个name,为了编译器区分name,用到了this,

1
2
3
4
public Demo(String name, int age){
this.name = name;
this.age = age;
}

这里的this.name意思就是这里的name是class
demo方法内部的name(上面的name),this.name=name后面的name是本方成员方法的name
通俗地说,在一个办公室里有a和b两个傻吊,我跟c说让傻吊出一份审计报告,但是c不知道我说的傻吊是哪个,这时候我就说让a傻吊去出一份审计报告,c就知道是让a去出审计报告。
这里的办公室就是类,c是编译器,我是开发,a和b是类里的两个方法成员,傻吊是方法里同名的变量。
起初我说了傻吊,但是c不知道是哪个傻吊,后面我加上了a傻吊,c就知道了


声明:
本文章用于学习交流,严禁用于非法操作,出现后果一切自行承担,阅读此文章表示你已同意本声明。

Disclaimer:
This article is for study and communication. It is strictly forbidden to use it for illegal operations. All consequences shall be borne by yourself. Reading this article means that you have agreed to this statement.