1.应用this关键字援用成员变量
作用:解决成员变量与参数或局部变量命名抵触的问题
public class Dog { String name; public Dog(String name) { this.name = name; }}
2.应用this关键字援用成员函数。在办法中援用调用该办法的对象
作用:让类中一个办法,拜访该类的另一个办法或实例变量
class Dog { public void jump() { System.out.println("正在执行jump办法"); } public void run() { Dog d = new Dog(); d.jump(); System.out.println("正在执行run办法"); }}public class DogTest { public static void main(String[] args) { Dog dog = new Dog(); dog.run(); }}
Dog类中run办法调用jump办法肯定要通过对象调用,因为jump办法并没有被static润饰。但不用在run()办法中从新定义一个Dog类,因为DogTest类中当程序调用run()办法时,肯定会提供一个Dog对象,这样就能够间接应用这个曾经存在的Dog对象,而无须创立新的Dog对象。
因而通过this关键字就能够在run()办法中调用该办法的对象
即
public void run(){ this.jump();//Java容许省略this前缀,即可间接写成jump(); System.out.println("正在执行run办法");}
static润饰的办法中不能应用this援用
例如:
public class DogTest { public void dog() { System.out.println("汪汪汪"); } public static void main(String[] args){ this.dog(); //报错:Cannot use this in a static context。 //省略掉this的状况下:同样报错,因为在静态方法中,不能间接拜访非动态成员(包含办法和变量)。非动态的变量是依赖于对象存在的,对象必须实例化之后,它的变量才会在内存中存在。 //解决办法:法1.将dog()同样设置为动态 法2.先实例化对象,而后应用对象来调用函数 }}
3.应用this关键字在本身构造方法外部援用其它构造方法
在某个构造方法内应用this(参数列表),即可跳转到其余构造方法
4.用this关键字代表本身类的对象
return this 即代表return整个本身类