在Java中,一个对象可以像这样调用父方法:((Father) this).m1();
有什么不同之处:Father f = sonObj; f.m1();
?
public Father extends Object {
public void m1(){}
}
public Son extends Father {
public void m1() {
((Father) this).m1();
}
}
答案 0 :(得分:1)
Java - 差异((classType)this).m1()和静态引用
Father f = sonObj; f.m1();
详细信息,但它不是静态引用,而是引用。
在Java中,一个对象可以像这样调用父方法:
((Father)this).m1();
有什么不同:
Father f = sonObj; f.m1();
在这两种情况下,您都会调用m1()
和this
引用的实例的sonObj
方法。
在您的示例中,这些是Son
个实例。
因此,该方法将调用Son
m1()
方法。
要调用Parent类的m1()
方法,您应该这样做:
public Son extends Father {
public void m1() {
super.m1();
}
}