类签名中的“()V”是什么意思?
我用Javassist创建了一个没有实际方法的构造函数
CtConstructor c = CtNewConstructor.make ( argTypes, null, newClass );
当我试图拿出这堂课的签名时
c.getSignature();
我懂了
public Echo ()V
我很困惑“ V”是什么意思?我期望任何一个公共Echo(); 或类似的东西
回答:
JVM使用一种紧凑的方式来存储方法签名,其中的构造函数被认为是特例。
例如:
()
表示不带参数的方法V
表示它什么也不返回
该计划的其他部分是:
B
-字节C
-字符D
-双F
-浮动I
-整数J
- 长S
-短V
-无效Z
-布尔值[
-括号后面的东西数组L
[类名];
-此类的实例,点变为斜线(
[args])
[返回类型]-方法签名
例如:
public int foo(String bar, long[][] baz)
会成为
(Ljava / lang / String; [[J] I
请参见Sun ^ H ^ H ^
HOracle网站上的规范
以上是 类签名中的“()V”是什么意思? 的全部内容, 来源链接: utcz.com/qa/398805.html