关于泛型:如何查看Java编译代码

How to view Java compiled code

本问题已经有最佳答案,请猛点这里访问。

我有这个班的家长

1
2
3
4
5
6
7
class ClassParent<T> {

    public void set(T t)
    {
         //setter code
    }
}

然后我让这个班上的孩子扩展班上的家长

1
2
3
4
5
6
7
class ClassChild extend ClassParent<String> {

    public void set(String str)
    {
         //setter code
    }
}

正在实例化ClassChild类的新实例。

1
ClassParent<String> child = new ClassChild();

显然,为了保存多面体,Java编译器将在EDCOX1×0类中创建一个桥接方法。我的问题是,在我使用javac命令编译代码之后,我想看看编译后的代码是什么样子的,但我不知道该怎么做。我用记事本+打开了.class文件,但我只是看到了一些胡言乱语。如何查看编译后的代码是我的问题。我对编程是个新手。谢谢你


使用一个反编译程序。如果您使用Eclipse,请安装jadclipse或查看这个独立版本。网址:http://jd.benow.ca/您还可以使用javap来分解类文件http://docs.oracle.com/javase/7/docs/technotes/tools/windows/javap.html


如果希望看到已编译类的反汇编,那么可以使用javap。请参见:http://docs.oracle.com/javase/7/docs/technotes/tools/windows/javap.html

如果您正在寻找编译器在编译期间使用的中间代码,我不可能看到这一点。