invokestatic,invokespecial,invokevirtual,invokeinterface

有四種方法調用相關的字節碼:invokestaticinvokespecialinvokevirtualinvokeinterface

這裏簡單總結它們的區別。

  • invokestatic: 調用靜態方法
  • invokespecial: 調用無須動態綁定的實例方法,例如構造函數私有方法,通過super關鍵字調用的超類方法。剩下的方法屬於動態綁定的方法。
  • invokeinterface,invokevirtual 如果動態綁定的方法是針對接口類型的引用調用的方法,那麼就使用invokeinterface,否則調用 invokevirtual
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章