欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java是怎么通過方法區(qū)中的方法表來實現(xiàn)多態(tài)和接口的?

李中冰2年前14瀏覽0評論

沒錯,這就是多態(tài)。接口實現(xiàn)的多態(tài),意味著接口UserService負(fù)責(zé)定義方法的名字,形參列表和返回值,而不考慮其具體實現(xiàn),調(diào)用方UserBlh也不必了解findUser,saveOrUpdate這兩方法由誰來實現(xiàn),只需知道這userService指針指向的對象已經(jīng)實現(xiàn)了這兩個方法,那么調(diào)用方UserBlh只管調(diào)用就好。“調(diào)用的是接口UserService中對應(yīng)的方法,還是調(diào)用的是接口的實現(xiàn)UserServiceImpl中對應(yīng)的方法”看來你可能不太清楚在實現(xiàn)層(語言編譯的技術(shù))上如何做的。具體來說,1.方法實際上就是一段可執(zhí)行的代碼。而接口UserService其實就是定義了一個數(shù)據(jù)結(jié)構(gòu)(其實就是虛函數(shù)表),而不定義方法本身(就是接口沒有定義可執(zhí)行的代碼塊)2.接口UserService的子類UserServiceImpl在構(gòu)造函數(shù)里要往這個表填一些東西,這個東西就是子類UserServiceImpl所定義的可執(zhí)行代碼塊的入口地址。3.當(dāng)調(diào)用方UserBlh調(diào)用findUser方法,則通過查虛函數(shù)表的方式找到那個findUser方法的地址,進(jìn)行調(diào)用。給張圖幫助說明從技術(shù)的角度如何實現(xiàn)多態(tài)。(假設(shè)還有一個類B也實現(xiàn)了接口UserService)