Java关键词this的使用
在Java中,this关键字与其词义相近,我们会在方法与构造器中使用this
在方法中使用this
当this在当前方法中使用时,代表的是当前对象,我们可以使用this来调用当前对象的属性,方法和构造器。this能够用来区分局部变量和属性,如:
class Person{
private String name = "牛牛";
public void greet(String name){
System.out.println("你好" + name + ",我是" + this.name + "欢迎你来看我的博客");
}
}
在greet方法中,传入的形参name与Person类的属性同名,我们便可以使用this将属性与形参区分。
创建类的对象,调用greet方法:
public class Test {
public static void main(String[] args) {
Person NiuNiu = new Person();
NiuNiu.greet("李雷");//输出你好李雷,我是牛牛欢迎你来看我的博客
}
}
在构造器中使用this
当this在构造器中使用时,它表示构造器正在进行初始化的对象。我们可以运用this初始化属性。还可以用this调用类中其他的构造器。下面进行举例说明:
class Person{
public Person(){
System.out.print("你好");
}
public Person(String name){
this();
this.name = name;
System.out.print(",我是" + name);
}
}
我们在Person类中定义了两个构造器,在含有形参name的构造器中我们通过this(形参列表)的形式调用了空参构造器。下面在测试类中调用Person类的带参构造器:
public class Test {
public static void main(String[] args) {
Person NiuNiu = new Person("李雷");//输出你好,我是李雷
}
}
使用this调用构造器时要注意一下几点:
1、我们可以在类构造器中,显式地使用“this(形参列表)”的方式,调用本类中指定的其他构造器。
2、构造器中不能通过this(形参列表)调用自己。
3、规定:“this(形参列表)”必须声明在首行。