jar中的类名和反编译器错误

时间:2017-01-11 16:57:27

标签: java jar decompiler

我有一个名为MyClass的java类,我正在添加新的Object。当通过winzip查看jar时,我看到了重复的类,如下所示。

MyClass$1.class
MyClass$2.class 

等等。

这是什么意思?这是一个问题,因为当我尝试使用反编译器打开该jar文件时,它会给出以下错误

  

发生未处理的异常。按“中止”终止   程序,“重试”正常退出程序,“忽略”试图   继续。

提前致谢。

1 个答案:

答案 0 :(得分:0)

Java的原始版本没有嵌套类。当它们被添加时,它们在编译器中被实现为语法糖,这些类被编译为分隔类文件。名字使用$。所以MyClass $ 1是一个包含在MyClass中的匿名类。

至于你的反编译器崩溃的原因,它可能是一个糟糕的反编译器。你可以使用很多现代反编译。您还可以尝试使用BytecodeViewerHelios这样的工具,它将许多不同的反编译器与一个方便的GUI捆绑在一起。