1. dalvik字節碼有兩種類型,原始類型和引用類型。對象和數組是引用類型,其它都是原始類型。
原始類型如下
V
void,只能用於返回值類型
Z boolean
B byte
S short
C char
I int
J long(64位)
F float
D double(64位)
對象類型表示如下
對象以Lpackage/name/ObjectName;的形式表示。前面的L表示這是一個對象類型,package/name/是該對象所在的包,ObjectName是對象的名字,“;”表示對象名稱的結束。相當於java中的package.name.ObjectName。例如:Ljava/lang/String;相當於java.lang.String
數組的表示
[I——表示一個整型一維數組,相當於java中的int[]。
對於多維數組,只要增加[就行了。[[I相當於int[][],[[[I相當於int[][][]。注意每一維的最多255個。
對象數組的表示:[Ljava/lang/String;表示一個String對象數組。
方法
表示形式:Lpackage/name/ObjectName;->MethodName(III)Z
Lpackage/name/ObjectName;表示類型,MethodName是方法名。III爲參數(在此是3個整型參數),Z是返回類型(bool型)。注意對象後面的冒號
方法的參數是一個接一個的,中間沒有隔開。
一個更復雜的例子:
method(I[[IILjava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
在java中則爲:
String method(int, int[][], int, String, Object[])
字段
表示形式:
Lpackage/name/ObjectName;->FieldName:Ljava/lang/String;
即包名,字段名和各字段類型。
接下來將學習寄存器的概念