如何查看Java编译代码

时间:2014-12-21 23:17:01

标签: java generics

我有这个ClassParent类

class ClassParent<T> {

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

然后我让这个ClassChild扩展了ClassParent

class ClassChild extend ClassParent<String> {

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

实例化ClassChild类的新实例。

ClassParent<String> child = new ClassChild();

显然,为了保留多态性,java编译器将在ClassChild类中创建一个桥接方法。我的问题是,在使用javac命令编译代码之后,我想看看编译代码的样子,但我不知道该怎么做。我使用NotePad ++打开了.class文件,但我只看到了乱码。如何查看已编译的代码是我的问题。我是一般的编程新手。谢谢

2 个答案:

答案 0 :(得分:3)

使用Decompiler。如果您使用的是Eclipse安装JADClipse,或者查看它是否为独立版本。 http://jd.benow.ca/ 您还可以使用Javap来反汇编类文件http://docs.oracle.com/javase/7/docs/technotes/tools/windows/javap.html

答案 1 :(得分:2)

如果您想要查看已编译类的反汇编,javap可能是最佳选择。见这里:http://docs.oracle.com/javase/7/docs/technotes/tools/windows/javap.html

如果您正在寻找编译期间编译器使用的中间代码,我不可能知道这样做。