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)上述两个是否指的是哪个对象?
答案 0 :(得分:1)
这里的困境是"目前正在执行对象"是一个非常抽象的概念,容易直观但难以用书面形式描述(至少对我而言)
如果您有ChildClass
,那么它也是BaseClass
。因此,您有一个问题。它的类型为ChildClass
,它也可以强制转换为BaseClass
和Object
的字段和方法。
this
指的是自己。实例化ChildClass
时,初始化程序:
this.childMethod();
this.parentMethod();
执行(虽然为了编译代码,它需要在一组大括号中)。
该初始值设定项按顺序为正在初始化的对象调用childMethod
和parentMethod
。