类签名中的“()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





