我有这个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
文件,但我只看到了乱码。如何查看已编译的代码是我的问题。我是一般的编程新手。谢谢
答案 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
如果您正在寻找编译期间编译器使用的中间代码,我不可能知道这样做。