我用 Javassist 创建了一个构造函数,它没有真正的方法
CtConstructor c = CtNewConstructor.make ( argTypes, null, newClass );
当我试图发出这个班级的签名时
c.getSignature();
I get
public Echo ()V
我很困惑“V”是什么意思?我期望公共 Echo ();或者类似的东西...
JVM 使用一种紧凑的方式来存储方法签名,其中构造函数被视为一种特殊情况。
对于你的例子:
该计划的其他部分是:
-
B
- byte
-
C
- char
-
D
- 双倍的
-
F
- float
-
I
- int
-
J
- long
-
S
- short
-
V
- void
-
Z
- 布尔值
-
[
- 括号后面的内容的数组
-
L
[班级名称];
- 此类的实例,点变为斜线
-
(
[args] )
[返回类型] - 方法签名
例如:
public int foo(String bar, long[][] baz)
会成为
(Ljava/lang/String;[[J)I
See the spec http://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/types.html#wp276在 Sun^H^H^HOracle 网站
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)