Java中this关键的三种用法:
-
this调用本类中的成员属性。
-
this调用本类中的成员方法。
-
this调用本类中的构造方法:调用时只能在本类其他构造函数中调用。必须写在主调方法的第一行。不能出现相互循环调用。
public class Student {
private String name;
private int age;
Student(){}
/* 3、调用构造方法:this() 或 this(参数)
只能在本类其他构造函数中调用,不能在普通函数中调用。
必须写在主调方法的第一行。
不能出现相互循环调用,不能在构造方法1中调用方法2,有同时在构造方法2中调用方法1
*/
Student(String name)
{
this.name = name;
}
Student(String name,int age)
{
this(name);
this.age = age;
}
// 1、调用成员属性
public void setName(String name)
{
this.name = name;
}
// 2、调用成员方法
public void greet()
{
System.out.println("hello,大家好");
}
public void introduction()
{
this.greet();
System.out.println("我叫"+name+",今年"+age+"岁");
}
}
Java中的this关键字类似C++中的this指针。
C++中的this:this指针指向被调用的成员函数所属对象(指向调用函数的那个对象)。比如说,p1调用这个函数了,this就指向p1,p2调用了这个函数,this就指向p2。
Java中的this:类似C++this指针,它记录了每个对象的地址值,不过语法上是this.