我有一个名为MyClass的java类,我正在添加新的Object。当通过winzip查看jar时,我看到了重复的类,如下所示。
MyClass$1.class
MyClass$2.class
等等。
这是什么意思?这是一个问题,因为当我尝试使用反编译器打开该jar文件时,它会给出以下错误
发生未处理的异常。按“中止”终止 程序,“重试”正常退出程序,“忽略”试图 继续。
提前致谢。
答案 0 :(得分:0)
Java的原始版本没有嵌套类。当它们被添加时,它们在编译器中被实现为语法糖,这些类被编译为分隔类文件。名字使用$。所以MyClass $ 1是一个包含在MyClass中的匿名类。
至于你的反编译器崩溃的原因,它可能是一个糟糕的反编译器。你可以使用很多现代反编译。您还可以尝试使用BytecodeViewer或Helios这样的工具,它将许多不同的反编译器与一个方便的GUI捆绑在一起。