后续:测试类两个测试类如下class TestMethodA { static String name = "akioss";}class TestMethodB { static final String name = "akioss";}查看字节码通过javap指令查看两个类的字节码classAclass com.akioss.TestMethodA { static java.lang.String name; com.akioss.TestMethodA(); Code: 0: aload_0 1: invokespecial #1 // Method java/lang/Object."<init>":()V 4: return static {}; Code: 0: ldc #2 // String akioss 2: putstatic #3 // Field name:Ljava/lang/String; 5: return }可以看到除了默认的构造方法之外,还有一个静态代码块,执行了putstatic指令classBclass com.akioss.TestMethodB { static final java.lang.String name; com.akioss.TestMethodB(); Code: 0: aload_0 1: invokespecial #1 // Method java/lang/Object."<init>":()V 4: return }
添加回答
举报
0/150
提交
取消