【发布时间】:2013-07-19 06:28:12
【问题描述】:
上面说invoke-virtual是调用虚方法,而invoke-direct是直接方法。
但是我不清楚什么是“虚拟方法”,什么是“直接方法”?
也就是说,invoke-virtual 会调用什么样的方法,invoke-direct 会调用什么样的方法?
谁能举个具体的例子?
【问题讨论】:
上面说invoke-virtual是调用虚方法,而invoke-direct是直接方法。
但是我不清楚什么是“虚拟方法”,什么是“直接方法”?
也就是说,invoke-virtual 会调用什么样的方法,invoke-direct 会调用什么样的方法?
谁能举个具体的例子?
【问题讨论】:
从http://source.android.com/devices/tech/dalvik/dex-format.html 开始,直接方法是“静态、私有或构造函数中的任何一种”。
但是,静态方法有自己的invoke-static 操作码,所以invoke-direct 用于构造函数和私有方法。
【讨论】:
invoke-kind 部分。