в чем разница invoke-virtual и invoke-direct в android

Он говорит, что invoke-virtual вызывает виртуальный метод, в то время как invoke-direct является прямым методом.

однако я не понимаю, что такое "виртуальный метод"и что такое "прямой метод"?

другими словами, какой метод вызова будет invoke-virtual а какой будет invoke-direct?

может ли кто - нибудь привести конкретный пример?

спасибо заранее.

1 ответов


от http://source.android.com/devices/tech/dalvik/dex-format.html, прямой метод - "любой из статических, частных или конструкторов".

однако статические методы получают свой собственный invoke-static opcode, поэтому invoke-direct используется для конструкторов и частных методов.