为什么需要this关键字
下面我们通过下面的代码来体会一下
class Test{
public static void main(String[]args){
User user=new User("tom");
System.out.println(user.name);
}
}
class User{
String name;
int age;
public User(String name){
name=name;
}
}
最后输出的结果是null,和我们想象的结果不一样,原因是变量是有它的作用域的,而且是就近原则,构造器里面左边的name是形参里面的name,而不是User类里面的name,这样子就和我们的要求不一样了,所以需要使用this关键字
this关键字
this指的是当前对象
class User{
String name;
int age;
public User(String name){
this.name=name;
}
}
this.name指的就是当前对象的name,而不是形参的name
this关键字的注意事项
1) this 关键字可以用来访问本类的属性、方法、构造器
2) this 用于区分当前类的属性和局部变量
3) 访问成员方法的语法: this.方法名(参数列表);
4) 访问构造器语法: this(参数列表); 注意只能在构造器中使用(即只能在构造器中访问另外一个构造器, 必须放在第一 条语句)
5) this 不能在类定义的外部使用,只能在类定义的方法中使用。
this的理解
一个对象有一个this,this指的是当前对象
保存内存地址指向自身