當我調用超類方法ma()時,它正在打印B的地址。我的問題是在這個程序中這個關鍵字的功能是什麼。爲什麼在打印語句中使用this關鍵字不會給出語法錯誤,而是會給super關鍵字帶來錯誤。爲什麼它只會打印B的引用而不是A類。爲什麼'this'關鍵字返回B類地址?
class A
{
public void ma()
{
System.out.print(this); //printing address of B why?
}
}
class B extends A
{
public void mb()
{
super.ma(); //calling super class method
}
public static void main(String[] args)
{
A re=new B(); //creating object for class B
re.mb(); //calling method mb() of class B
}
}
...因爲你正在創建一個'B',所以'this'是一個'B'? – chrylis
是什麼使這隻打印B的地址?這個程序內部如何工作? –
這裏沒有地址。有調用Object.toString()的結果。這不是一個地址。 – EJP