举个例子
- public calss Person {
- String name;
- //无参构造
- public Person(name) {
- this.name = name;
- }
- }
复制代码 构造方法参数列表里,传递来一个参数:name。而Person类本身,也有一个成员变量name。怎么区别这两个name呢?
当 Person p = new Person("张三");
如果直接写name = name,由于就近原则,这两个name都表示的是参数列表里的,无法对对象进行赋值,
就有了this关键字。this表示本类对象的引用,this.name 即表示Person的对象调用的name,
this.name = name; 就可以表示,把参数列表的name("张三"),赋值给这个对象的name
|