java 方法调用绑定
將一個方法調(diào)用同一個方法主體關(guān)聯(lián)起來被稱作綁定。若在程序執(zhí)行前進行綁定(由編譯器和連接器實現(xiàn)),叫做前期綁定。讀者可能從來沒有聽說過這個術(shù)語,因為它在面向過程語言中不需要選擇就默認的綁定方式。例如C語言有一種方法調(diào)用,那就是前期綁定。后期綁定也叫做動態(tài)綁定或是運行時綁定,它的含義是在運行時根據(jù)對象的類型進行綁定。如果一種語言想實現(xiàn)后期綁定,那就必須具有某種機制,以便在運行時能判斷出對象的類型,從而調(diào)用恰當?shù)姆椒āR簿褪钦f,編譯器一直不知道對象的類型,但是方法調(diào)用機制能夠找到正確的方法體,并加以調(diào)用。后期綁定機制隨編程語言的不同而不同,但是只要想一下就會知道,不管怎樣都必須在對象中安置某種“類型信息”。
Java中除了static方法和final方法(private方法屬于final方法)之外,其他的方法都是后期綁定。這意味著通常情況下,我們不必判定是否應(yīng)該進行后期綁定,因為他會自動發(fā)生。有時候,將某個方法聲明為final,可以用來防止他人覆蓋該方法。但是更重要的一點或許是:這樣做可以有效的關(guān)閉“后期綁定”,或者說是告訴編譯器不需要動態(tài)綁定。這樣,編譯器就能夠為以final方法調(diào)用生成更有效的代碼。然而,大多數(shù)情況下,這樣做對程序的性能不會有什么改觀。所以,最好根據(jù)設(shè)計來決定是否使用final,而不是根據(jù)試圖提高性能的目的來使用final。
《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的java 方法调用绑定的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何在WPF中通过XAML代码创建菜单项
- 下一篇: 制作越狱版本的ipa文件