我通过在互联网上阅读 java 编译发现
public class Test {
private String s = "TESTTEST";
}
至
public class Test {
private String s;
public Test() {
s = "TESTTEST";
}
}
我对吗?
现在我试图自己理解这一点。所以我Test.java
通过调用来编译类
javac Test.java
之后,我读到我可以用它javap
来读取编译后的代码(=字节码)。
因此,我尝试在上面提到的字节码中查看编译器的重组(decleration 在构造函数中)。但是怎么办??是javap
正确的工具吗?如果是,使用哪些参数?
谢谢你的帮助!
编辑:
好的,到目前为止谢谢!你能解释一下如何阅读输出javap -c Test
吗?
C:\Users\MyName\Desktop>javap -c Test
Compiled from "Test.java"
public class Test {
public Test();
Code:
0: aload_0
1: invokespecial #1 // Method java/lang/Object."<init>":()V
4: aload_0
5: ldc #2 // String TESTTEST
7: putfield #3 // Field s:Ljava/lang/String;
10: return
}