这是什么意思,'this'引用是指当前正在执行的对象?

时间:2014-05-24 23:20:16

标签: java oop this

public Class BaseClass{
     public static void parentMethod(){


     }
}

public Class ChildClass extends BaseClass{

     public static void childMethod(){
     }


     this.childMethod();
     this.parentMethod();   

}

1)基类中当前正在执行的对象是什么? 2)Child Class中当前正在执行的对象是什么? 3)上述两个是否指的是哪个对象?

1 个答案:

答案 0 :(得分:1)

这里的困境是"目前正在执行对象"是一个非常抽象的概念,容易直观但难以用书面形式描述(至少对我而言)

如果您有ChildClass,那么它也是BaseClass。因此,您有一个问题。它的类型为ChildClass,它也可以强制转换为BaseClassObject的字段和方法。

this指的是自己。实例化ChildClass时,初始化程序:

 this.childMethod();
 this.parentMethod(); 

执行(虽然为了编译代码,它需要在一组大括号中)。

该初始值设定项按顺序为正在初始化的对象调用childMethodparentMethod