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整个本身类
发表回复