this关键字根据所在位置的不同,引用不同
1:在构造器执行体里。
我们通过代码说明:
public class Test {
private int height;
public Test(int height){
this. height=height;
}
public static void main(String args[]){
Test test=new Test(15);
}
}
在构造器里,this引用构造器正在初始化的对象。
2:在方法执行体里。
this引用,调用该方法的对象。
我们通过代码说明:
public class Test {
public void run(){
System. out.println( "执行run方法");
}
public void runTwo(){
//在runTwo方法中调用run方法
this.run();
System. out.println( "执行runTwo方法" );
}
public static void main(String args[]){
Test test= new Test();
test.runTwo();
}
}
在runTwo方法中通过this调用另一个方法run,this在这个方法执行体里指向调用runTwo方法的对象。
当两个方法有依赖关系时可以省略this
代码如下:
public class Test {
public void run (){
System. out.println( "执行run方法");
}
public void runTwo(){
//在runTwo方法中调用run方法
run();
System. out.println( "执行runTwo方法" );
}
public static void main(String args[]){
Test test= new Test();
test.runTwo();
}
}
在静态方法中不可以使用this关键字,因为调用静态方法的是类,虽然可以通过实例调用静态方法,但是在底层的运行中还是通过该实例的所属类调用这个静态方法,所以this不能指向有效的对象,将出现错误。
本文详细解释了Java中this关键字的用途及其在不同上下文中的含义。包括在构造器和方法体内的使用方式,并强调了在静态方法中不可使用this的特点。

6万+

被折叠的 条评论
为什么被折叠?



