Dalvik字节码的类型方法与字段表示方法

Dalvik字节码的类型、方法与字段表示方法

 

1.类型

 

基本类型——》

引用类型——》对象与数组

 

Dalvik字节码类型描述符

取第一个字母大写,黄色为特殊

语法     含义

V

void

Z

Boolean

B

byte

S

string

C

char

I

int

J

long

F

float

D

double

L

Java类型组

[

数组类型

 

Dalvik寄存器32位大小

L类型表示任何类,如Ljava/lang/String; 相当于Java.lang.String;

[类可以表示所有的基本类型的数组 如 [I 表示 int[]          [[I表示int[][] 维数最大为255个

如[Ljava/lang/String/; 可以表示Java中的字符串数组

 

 

 

2.方法

 

方法格式如:
 

Lpackage/name/ObjectName;->MethodName(III)Z

 

Lpackage/name/ObjectName;理解为一个类型,MethodName为具体的方法名,(III)Z是方法的签名部分,III为方法的参数(此处为三个整形参数)(连在一起直接写的,读时注意分开看) Z表示返回类型(boolean)

 

试试下面这个例子

(String - 》 Ljava/lang/StringObject -> Ljava/lang/Object)

 

Stringmethod(int , int[][] , int , String ,Object[])

 

method(I[[IILjava/lang/String;[Ljava/lang/Object;)Ljava/lang/String    是不是很简单有套路

 

# virtual methods 表示一个虚方法    #direct method 表示只是一个直接得方法

 

 

3.字段

//不是很理解,暂时没有遇到,以后补充吧

字段的格式如下:

 

Lpackage/name/ObjectName;->FileName:Ljava/lang/String;

 

字段由类型(L) 字段名()与字段类型()组成   冒号隔开:

 

#instance fields 实例字段 #static fields 静态字段

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章