zoukankan      html  css  js  c++  java
  • 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、

  • 相关阅读:
    初始化toolstrip
    XmlWriter.WriteString() problem__“.”(十六进制值 0x00)是无效的字符。
    C#使用Dotfuscator混淆代码的加密方法(转)
    新软件收钱老软件不能用的思路
    位标记
    编程的严谨性
    制作安装项目后无法保存图片
    学习泛型
    Sql Server 中一个非常强大的日期格式化函数
    淘宝api 桌面程序(cs,客户端)接入规则
  • 原文地址:https://www.cnblogs.com/javaskill/p/5421279.html
Copyright © 2011-2022 走看看