this关键字总是指向调用该方法的对象:分为如下两个情形1.构造器中引用该构造器正在初始化的对象;2.在方法中引用调用该方法的对象
this关键字的最大作用就是让类中的一个方法中访问该类的另外一个方法或field
下面提供一个例子
假设定义一个dog对象,这个dog对象的run方法需要调用它的jump方法
public class Horse
{
//定义一个jump方法
public void jump(){
System.out.println("wonengtiao");
}
public void run(){
Horse d=new Horse();
d.jump();
System.out.println("wonengpao");
}
}
public class ceshi
{
public static void main(String[] args)
{
Horse horse=new Horse();
horse.run();
}
}
//下面应用this 关键字
public class Horse
{
//定义一个jump方法
public void jump(){
System.out.println("wonengtiao");
}
public void run(){
this.jump();
System.out.println("wonengpao");
}
}
public class ceshi
{
public static void main(String[] args)
{
Horse horse=new Horse();
horse.run();
}
}
//this关键字应用于在构造器中引用该构造器进行初始化的对象
public class ThisInConstructor
{
public int age;
public ThisInConstructor()
{
this.age=6;
}
public static void main(String[] args)
{
System.out.println(new ThisInConstructor().age);
}
}
注:static修饰的方法不能用this关键字,因为如果使用了这个关键字不能指向合适的对象(java中不能使用对象去调用static修饰的field,方法,而是应该使用类去调用static修饰的field,方法)