JNI_Z_03_类中的字段和方法的签名

1、

Java类型  相应的签名                                       例子
boolean     Z
byte        B
char        C
short       S
int         I
long        L
float       F
double      D
void        V
Object      L用"/"分割的完整类名;                          Ljava/lang/String;
Array       [签名                                        [I   [Ljava/lang/String;
Method      (参数1类型签名参数2类型签名...)返回值类型签名

ZC: 我的分类:
ZC: (A)、类型签名
ZC: (A.1)、单个 类型签名
ZC:   (1)、boolean ~ void 类型的签名 一目了然
ZC:   (2)、Object的签名,分三个部分:用"/"分割的完整类名,前面加上字母"L",后面加上分号";"
ZC: (A.2)、数组 类型签名
ZC:   (3)、Array的签名,分两个部分: "[" 加上 单个类型签名
ZC: (B)、Method签名:
ZC:  (1)、"(" 和 ")" 和 类型签名 的组合
ZC:  (2)、各个 参数的类型签名 的 字符串之间是连接在一起的,中间没有任何字符
ZC: 例子:
ZC:  ①、函数声明:   void Func01(int i, double d);
ZC:    Method签名: (ID)V
ZC:  ②、函数声明:   short Func02(Object o, String str, int[] arr);
ZC:    Method签名: (Ljava/lang/Object;Ljava/lang/String;[I)S

2、

多维数组 怎么弄?

我记得 在哪里 貌似见过 [[ 的写法

3、

不知道怎么翻译的话,可以用命令来查看:

3.1、java的代码是这样的:

package jniZ;

import java.util.Date;

public class JNIjw02
{
    public int propertyZ;

    public int FunctionZ(int _foo, Date _date, int[] _arr)
    {}
    
    public native void TestZ();
    
    public static void main(String[] args)
    {}
}

3.2、来到 JNIjw01.java 对应的class文件的目录,执行命令:

ZC: 上面的签名依次为 :
ZC:  (1)、属性propertyZ 的签名
ZC:  (2)、默认/无参构造函数JNIjw02() 的签名
ZC:  (3)、函数FunctionZ(...) 的签名
ZC:  (4)、函数TestZ() 的签名
ZC:  (5)、函数main(...) 的签名

4、

5、

原文地址:https://www.cnblogs.com/javaskill/p/5421279.html