乙個子類繼承中的super 引用問題

2021-10-23 13:29:24 字數 852 閱讀 1718

class

student

}public

class

thisstudent

extends

student

public

static

void

main

(string[

] args)

}

在宣告乙個子類物件時,會先自動呼叫父類中的構造器宣告乙個父類物件。也就是說,子類物件體內包含了乙個父類物件,也就是包含從父類中繼承而來的各種成員。在上述題中,super.age引用的是子類體內的父類物件的age變數,是從父類繼承得來的age,this.age 和super.age 指向同乙個age。因此輸出為:

1518

18,18

有乙個小問題,super是乙個指向子類體內的父類物件的引用嗎?

:-------------------------------------------

class

student

}class

thisstudent

extends

student

public

static

void

main

(string[

] args)

}

在上述題目中。雖然子類繼承了父類的age變數,但是子類自身也宣告了乙個age 變數,因此super.引用的是子類體內父類物件的age變數,而this.age指向的是子類自己的(非繼承的)age變數(就近原則),因此輸出為:

1518

18,18

子類繼承父類,new 乙個子類物件的過程(待完善)

父類 public class jvmbase public static void basestaticmethod public jvmbase 子類 public class jvmsub extends jvmbase public static void substaticmethod p...

Python多繼承super只引用第乙個父類

python多繼承super只引用第乙個父類 class animal def init self print in parent class animal2 def init self print in parent2 class dog animal2,animal def init self ...

設計乙個父類,並派生多個子類

設計乙個父類,表示遊戲角色 派生出多個子類用於表示不同職業的角色。為每個類設計必要的屬性和方法,並例項化 下面是我的 class person object 必須以object為基類 def init self,name hp sp atk faqiang hujia mokang yisu sel...