代码之家  ›  专栏  ›  技术社区  ›  Arlaharen

用于检查.class文件中类的包名和类名的工具

  •  1
  • Arlaharen  · 技术社区  · 15 年前

    有什么工具或技术可以让我查询Java.class文件的内容吗?我想知道类的完全限定名及其定义的方法。我想也许 javap

    3 回复  |  直到 15 年前
        1
  •  1
  •   Stephen C    15 年前

    .class文件中包含的类是否始终与文件名相同(不包括.class)

    实际上,是的。我遇到的每个Java实现都依赖于类文件路径名来定位要加载的类,等等。

    理论上,类加载器 能够 使用其他机制,因此 能够

    即使我使用其他语言,如Groovy、Jython或Scala?

    假设这些语言编译成字节码文件,然后由标准类加载器加载,那么字节码文件中的类名几乎与文件路径名相对应。。。否则类装入器将无法定位类文件。但是,这并不一定意味着字节码文件中的类名与源代码中使用的标识符Scala/Jython/Groovy相同。事实上,这甚至对Java来说都不正确;例如,匿名类和内部类的类文件名与Java源代码中的标识符不同。

        2
  •  4
  •   BalusC    14 年前

    呼叫 javap ClassName (不是 javap ClassName.class ).

    .class 只是为了 javap类名
    如果你的 .类 在子文件夹中 javap path/to/ClassName javap path.to.ClassName


    资源:

        3
  •  0
  •   Vetle    15 年前

    试试这个 Java Decompiler

    推荐文章