Java 理解nosuchmethodexception中的方法签名

Java 理解nosuchmethodexception中的方法签名,java,exception,constructor,init,nosuchmethoderror,Java,Exception,Constructor,Init,Nosuchmethoderror,我得到了这个异常,但解决了它 java.lang.NoSuchMethodError: antlr.NoViableAltForCharException.<init> (CLjava/lang/String;II)V java.lang.NoSuchMethodError:antlr.NoViableAltForCharException。 (CLjava/lang/String;II)V 但我想知道如何解释这类消息:“(CLjava/lang/String;II)V” 另外,

我得到了这个异常,但解决了它

java.lang.NoSuchMethodError: antlr.NoViableAltForCharException.<init>
(CLjava/lang/String;II)V
java.lang.NoSuchMethodError:antlr.NoViableAltForCharException。
(CLjava/lang/String;II)V
但我想知道如何解释这类消息:“(CLjava/lang/String;II)V” 另外,这个“init”是否提到NoViableAltForCharException类的构造函数


谢谢。

正在查找构造函数
antlr.NoViableAltForCharException(char,String,int,int)
,但在类中找不到它

方法是构造函数,
方法是静态初始化块。@gkamal列出了参数类型,并添加了
V
为void。名义上,构造函数返回
void
,这就是签名末尾出现
V
的原因


顺便说一句:
J
表示长时间,而
L
表示类,而
L
表示长时间,而
J
表示Java类,这可能是一个讽刺

请参阅。这是一种方便的简写符号。

类型签名-取自

JNI使用JavaVM的类型签名表示。表3-2显示了这些类型签名

Z                               boolean
B                               byte
C                               char
S                               short
I                               int
J                               long
F                               float
D                               double
L fully-qualified-class ;       fully-qualified-class
[ type                          type[]
( arg-types ) ret-type          method type
例如,Java方法:

long f (int n, String s, int[] arr);
具有以下类型签名:

(ILjava/lang/String;[I)J

服务器上可能有一个过时的.jar文件,而不是编译代码时使用的文件。
仔细检查服务器上的所有.jar文件是否与您正在编译的文件相同。

我相信海报是在寻找如何解释它,而不是实际的解释。谢谢Peter,您的回答对方法签名和init方法都很有帮助。